totaler php-noob hat n problem mit m script

  • moin!
    ich hab n script geschrieben



    <?
    $host = "XXX";
    $user = "XXX";
    $passwort = "XXX";
    $verbindung = mysql_connect($host, $user, $passwort);
    if($verbindung)


    {


    $gebtag[0]=$tag[0];
    $gebtag[1]=$tag[1];
    $gebtag[2]=$monat[0];
    $gebtag[3]=$monat[1];
    $gebtag[4]=$jahr[0];
    $gebtag[5]=$jahr[1];
    $gebtag[6]=$jahr[2];
    $gebtag[7]=$jahr[3];


    $gebtag=implode("",$gebtag);


    $fehler=0;


    if($password!=$repeat_password)
    $fehler=1;




    if($fehler==0)
    {
    echo "passt schon!";
    $sql = "INSERT INTO `user` (`login`, `password`, `email`, `gender`, `name`, `vorname`, `beruf`, `birthday`, `stadt`, `land`, `icq`, `yahoo`, `msn`, `aol`, `url` ) VALUES ('$login','$password','$email', '$geschlecht', '$name', '$vorname', '$beruf', '$gebtag','$stadt','$land','$icq','$yahoo','$msn','$aol', '$url')";
    mysql_db_query("db74323374", $sql);


    $num = mysql_affected_rows();
    if ($num>0)
    echo "Das Profil mit dem Namen <b>$login</b> wurde erzeugt.<br>";
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }
    }
    switch ($fehler)
    { case 1: echo "Die beiden Passw&ouml;rter sind nicht identisch.<br><input type=\"Submit\" onclick=\"javascript:history.back()\" VALUE=\"Eingabe korrigieren\">"; break;
    }





    mysql_close();
    }
    else
    {
    echo = "verbindung nicht hergestellt!"
    }


    ?>



    also da wo die "XXX" sind , das hat nix mit dem film zu tun, ich wollte nur, dass nicht jeder von euch mein pw hat...


    zur info: ich hab schon getestet, ob ich connection zur db habe, und die habe ich.



    ist mit sicherheit n total billiges problem..... aber dat script funzt so nicht.... und zwar gibt es keine fehlermeldung, aber es wird einfach kein datensatz hinzugefügt.....




    danke für eure hilfe!

  • Hi,


    ich habe den Script einmal ausprobiert und nachdem ich die komischen Hochkommas "`" rund um die SQL-Feldnamen entfernt habe ging es.


    FALSCH
    $sql = "INSERT INTO `user` (`login`, `password`, `email`, `gender`, `name`, `vorname`, `beruf`, `birthday`, `stadt`, `land`, `icq`, `yahoo`, `msn`, `aol`, `url` ) VALUES ('$login','$password','$email', '$geschlecht', '$name', '$vorname', '$beruf', '$gebtag','$stadt','$land','$icq','$yahoo','$msn','$aol', '$url')";


    RICHTIG
    $sql = "INSERT INTO user (login, password, email, gender, name, vorname, beruf, birthday, stadt, land, icq, yahoo, msn, aol, url ) VALUES ('$login','$password','$email', '$geschlecht', '$name', '$vorname', '$beruf', '$gebtag','$stadt','$land','$icq','$yahoo','$msn','$aol', '$url')";


    HPDOELLE

  • leider gibt er mir jetzt n fehler in zeile 35 ($num = mysql_affected_rows();) aus:


    Warning: Supplied argument is not a valid MySQL-Link resource in /homepages/45/d73678044/htdocs/add_user.php on line 35






    hier nochmal das script:
    <?
    $host = "XXX";
    $user = "XXX";
    $passwort = "XXX";
    $verbindung = mysql_connect($host, $user, $passwort);
    if($verbindung)


    {


    $gebtag[0]=$tag[0];
    $gebtag[1]=$tag[1];
    $gebtag[2]=$monat[0];
    $gebtag[3]=$monat[1];
    $gebtag[4]=$jahr[0];
    $gebtag[5]=$jahr[1];
    $gebtag[6]=$jahr[2];
    $gebtag[7]=$jahr[3];


    $gebtag=implode("",$gebtag);


    $fehler=0;


    if($password!=$repeat_password)
    $fehler=1;





    if($fehler==0)
    {
    echo "passt schon!";
    $sql = "INSERT INTO user (login, password, email, gender, name, vorname, beruf, birthday, stadt, land, icq, yahoo, msn, aol, url ) VALUES ('$login','$password','$email', '$geschlecht', '$name', '$vorname', '$beruf', '$gebtag','$stadt','$land','$icq','$yahoo','$msn','$aol', '$url')";
    mysql_db_query("db74323374", $sql);


    $num = mysql_affected_rows();
    if ($num>0)
    echo "Das Profil mit dem Namen <b>$login</b> wurde erzeugt.<br>";
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefügt<p>";
    }
    }
    switch ($fehler)
    { case 1: echo "Die beiden Passwörter sind nicht identisch.<br><input type=\"Submit\" onclick=\"java script:history.back()\" VALUE=\"Eingabe korrigieren\">"; break;
    }





    mysql_close();
    }
    else
    {
    echo = "verbindung nicht hergestellt!"
    }


    ?>



    Bitte um hilfe!


    DANKE!!!

  • OK, hier ist der exacte Code, wie er bei mir läuft. Ich habe einige Änderungen vorgenommen, da ich keine Lust hatte die DB anzulegen. Ausserdem mache ich grundsätzlich einen mysql_select auf den Datenbank Namen, bevor ich mit einer DB spiele.


    <?
    $host = "domain.com";
    $user = "ist geheim";
    $passwort = "ist noch geheimer";
    $database = "hpdtest";
    $verbindung = mysql_connect($host, $user, $passwort);
    $db_connect = mysql_select_db($database);
    if($verbindung)


    {


    $first_name = "Willi";
    $last_name = "Wuestenfuchs";
    $city = "Sandberg";
    $state = "NRW";
    $address = "auf dem Haufen 2";
    $zip = "12345";


    $fehler=0;



    if($fehler==0)
    {
    echo "passt schon!<br>";
    $sql = "insert into Janetest (first_name, last_name, city, state, address, zip ) values ('$first_name','$last_name',
    '$city', '$state', '$address', '$zip')";
    echo $sql,"<br>";
    $ergebnis = mysql_query($sql);
    echo $ergebnis,"<br>";
    echo mysql_errno( ). " : " .mysql_error( );


    $num = mysql_affected_rows();
    if ($num>0)
    echo "Das Profil mit dem Namen <b>$login</b> wurde erzeugt.<br>";
    else
    {
    echo "Es ist ein Fehler aufgetreten, ";
    echo "es wurde kein Datensatz hinzugefgt<p>";
    }
    }
    switch ($fehler)
    { case 1: echo "Die beiden Passwrter sind nicht identisch.<br><input type=\"Submit\" onclick=\"java script:history.b
    ack()\" VALUE=\"Eingabe korrigieren\">"; break;
    }


    mysql_close();
    }
    else
    {
    echo "verbindung nicht hergestellt!";
    }


    ?>


    Ich habe das ganze auf folgendem Server laufen:


    PHP Version 4.0.4pl1
    Linux gee 2.4.0
    mysql 3.23.33
    Apache/1.3.17


    Wie Du siehst, habe ich einige ECHO Anweisungen eingefügt, um zu sehen, was der Server gerade macht.


    HPDOELLE

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!