Patti: MySQL-Datensatz erstellen

Ich hätte gerne gewusst was an dem nachfolgenden Quelltext falsch ist, denn es funktioniert nicht:

<html>
<body>

<form>
<input type=text name="baldname" size=20>
<input type=password name="baldpasswort" size=20>
<input type=submit value="Registrieren">
</form>

<?php

$db = mysql_connect("mysql.lima-city.de","USER31787","PASSWORT");
mysql_select_db("DB823009678",$db);

$continu=1;
if ($baldname == "")
{
print("Bitte Name eingeben!<br>");
$continu=0;
}

if ($continu == 1)
{

$sql="INSERT INTO user (name, passwort) VALUES ('$baldname', '$baldpasswort')";
mysql_query($sql, $db);
echo "Account erfolgreich erstellt!";
}
else
{

}
?>
</body>
</html>

Schonmal im Voraus, vielen Dank für die Hilfe.

  1. hi,

    Ich hätte gerne gewusst was an dem nachfolgenden Quelltext falsch ist, denn es funktioniert nicht:

    es fehlt, wie so oft bei anfängern, mal wieder eines vollständig: eine fehlerbehandlung.

    http://php-faq.de/q/q-sql-fehlerbehandlung.html
    http://www.php.net/manual/de/function.mysql-error.php

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi, danke für die schnelle Antwort, doch das hat mir nicht weitergeholfen, ich hab die Fehlerbehandlung eingebaut, doch es tut sich nichts.

  2. echo $begrüßung;

    Ich hätte gerne gewusst was an dem nachfolgenden Quelltext falsch ist, denn es funktioniert nicht:

    Wenn du nicht weißt, was daran falsch ist, vielleicht weiß MySQL das. Du musst es nur danach fragen. Am einfachsten tut's ein "or die(mysql_error())" zwischen einem mysql_...-Befehl und dem Befehlsende-Semikolon.

    echo "$verabschiedung $name";

    1. Hi, danke für die schnelle Antwort, doch es hat mir nicht weitergeholfen, denn es tut sich nichts. Ob  mit "or die(mysql..."
      oder ohne.

      1. echo $begrüßung;

        [...] es tut sich nichts.

        Beschreibe dieses "nichts" mal etwas genauer.
        Bist du sicher, dass das Script auch von einem PHP-Interpreter bearbeitet wird?
        Was genau kommt denn beim Client an? (Quelltextansicht!)

        echo "$verabschiedung $name";

        1. Ich gebe den Namen ein, ich gebe das Passwort ein, schicke ab, aber es wird nichts in die Datenbanktabelle geschrieben.

          Also das hier kommt wenn man sich bei der aufgerufenen Seitre den Quelltext anschaut:

          <html>
          <head><title>PHP workshop for form management: ajoutimp.php</title><head>
          <body>

          <form>
          <input type=text name="baldname" size=20>
          <input type=password name="baldpasswort" size=20>
          <input type=submit value="Registrieren">
          </form>

          Bitte Name eingeben!<br></body>
          </html>

          Und die andere Fassung steht ja in meiner 1.Nachricht.
          Irgendwie alles sehr komisch.

          1. hi,

            Bitte Name eingeben!<br></body>

            Bitte über register_globals=off informieren!<br></body>

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Bitte über register_globals=off informieren!<br></body>

              Hi, sorry ich versteh nicht wie das mit meinem Problem zusammenhängt.
              :-(

              1. hi,

                Hi, sorry ich versteh nicht wie das mit meinem Problem zusammenhängt.

                dein problem scheint zu sein, dass offenbar gar keine formulardaten in deinem script erkannt werden - was zu der fehlermeldung führt.

                wie du die formulardaten in deinem script _richtig_ in empfang nimmst - das beschreibt das verlinkte dokument.

                schau dir alternativ http://php-faq.de/q/q-formular-variablen.html an - damit solltest du jetzt aber rausfinden können, wie's geht.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
          2. echo $begrüßung;

            <form>

            hier fehlt mindestens das action-Attribut und dass ohne method-Attribut GET genommen wird, weißt du sicher auch nicht. Denn dabei wird das Passwort als URL-Parameter übertragen und steht damit in Logfiles und Referrern drin.

            Die Lektüre des Kapitels Database Security, besonders SQL Injection, sei dir auch dringend angeraten.

            echo "$verabschiedung $name";

  3. Hi,

    <form>

    Daß action fehlt, wurde ja schon geschrieben.

    <input type=text name="baldname" size=20>
    <input type=password name="baldpasswort" size=20>

    if ($baldname == "")
    $sql="INSERT INTO user (name, passwort) VALUES ('$baldname', '$baldpasswort')";

    Ich schätze mal, die beiden Variablen $baldname und $baldpasswort dürften leer sein. Sieh Dir mal $_POST an.

    Viele Grüße

    Jörg