Anmelde Script

pamali

Mitglied
Hi, ich habe mal ein Anmelde Script gemacht, aber es kommt immer: Es ist ein Fehler aufgetreten, es wurde kein Datensatz hinzugefügt (Also kann er $gesendet nicht finden... oder? Aber warum?)
PHP:
<?php
$db_host = "localhost"; // MySQL-Host
$db_user = "XXX";  // MySQL-Benutzername
$db_password = "XXX"; // MySQL-Passwort
   if ($gesendet)
   {
   $db = mysql_connect($db_host, $db_user, $db_password);

      $sqlab = "insert kunden";
      $sqlab .= "(kundenid, username, password,";
      $sqlab .= " vorname, nachname, email, geburtstag) values ";
      $sqlab .= "($ki, '$un', '$pw', '$vn', '$nn', '$em', '$gt')";

      mysql_db_query("pamali3", $sqlab);

      $num = mysql_affected_rows();
      if ($num>0)
	  {
         echo "Es wurde 1 Datensatz hinzugefügt<p>";
	  }
      else
      {
         echo "Es ist ein Fehler aufgetreten, ";
         echo "es wurde kein Datensatz hinzugefügt<p>";
      }
      mysql_close($db);
   }
?></head>
<?php
if (!function_exists("ki_generate")){
// @param integer $length default 10
// gibt Anzahl der Zeichen des Passwortes an
    function ki_generate($length = 10) {
        $chars_for_ki= "0123456789";
        $char_control  = "";
        srand((double) microtime() * 1000000);
        for($i=0;$i<$length;$i++) {
            $number = rand(0, strlen($chars_for_ki));
            $char_control .= $chars_for_ki[$number];
        }
        return $char_control;
    }
}
$knr = ki_generate(10);
?> 
<body>
<BR>
» ANMELDUNG «
<BR>
<form action = "index.php?action=anmeldung" method = "post">
	<input name="ki" value="<? echo "$knr"; ?>" disabled="disabled"> 
				 Kunden ID<p>
    <input name="un"> 
				 Username<p>
    <input name="pw" type="password"> 
				 Password<p>
    <input name="vn"> 
				 Vorname<p>
    <input name="nn">
                 Nachname<p>
    <input name="em">
                 E-Mail<p>
    <input name="gt">
                 Geburtsdatum (in der Form JJJJ-MM-TT) Bsp.: 1988.06.16<p>
    <input type="submit" name="gesendet">
    <input type="reset">
</form>
 
Zuletzt bearbeitet:
ist der Server mit register_globals = on konfiguriert?
Dann solltest du eifach auf die Variablen in der Adressleiste zugreifen können.

Wenn nicht, dann musst du bei deinem Beispiel auf alle Variablen, welche von dem form ausliest mit $_POST['variablenname'] zugreifen.

Probier dein Script mal so aus:



PHP:
<?php 
$db_host = "localhost"; // MySQL-Host 
$db_user = "XXX";  // MySQL-Benutzername 
$db_password = "XXX"; // MySQL-Passwort 
   if($_REQUEST['action'] == 'anmeldung')
   { 
   $db = mysql_connect($db_host, $db_user, $db_password); 

      $sqlab = "insert kunden"; 
      $sqlab .= "(kundenid, username, password,"; 
      $sqlab .= " vorname, nachname, email, geburtstag) values "; 
      $sqlab .= "($_POST['ki'], '$_POST['un']', '$_POST['pw']', '$_POST['vn']', '$_POST['nn']', '$_POST['em']', '$_POST['gt']')"; 

      mysql_db_query("pamali3", $sqlab); 

      $num = mysql_affected_rows(); 
      if ($num>0) 
      { 
         echo "Es wurde 1 Datensatz hinzugefügt<p>"; 
      } 
      else 
      { 
         echo "Es ist ein Fehler aufgetreten, "; 
         echo "es wurde kein Datensatz hinzugefügt<p>"; 
      } 
      mysql_close($db); 
   } 
?></head> 
<?php 
if (!function_exists("ki_generate")){ 
// @param integer $length default 10 
// gibt Anzahl der Zeichen des Passwortes an 
    function ki_generate($length = 10) { 
        $chars_for_ki= "0123456789"; 
        $char_control  = ""; 
        srand((double) microtime() * 1000000); 
        for($i=0;$i<$length;$i++) { 
            $number = rand(0, strlen($chars_for_ki)); 
            $char_control .= $chars_for_ki[$number]; 
        } 
        return $char_control; 
    } 
} 
$knr = ki_generate(10); 
?> 
<body> 
<BR> 
» ANMELDUNG « 
<BR> 
<form action = "index.php?action=anmeldung" method = "post"> 
    <input name="ki" value="<? echo "$knr"; ?>" disabled="disabled"> 
                 Kunden ID<p> 
    <input name="un"> 
                 Username<p> 
    <input name="pw" type="password"> 
                 Password<p> 
    <input name="vn"> 
                 Vorname<p> 
    <input name="nn"> 
                 Nachname<p> 
    <input name="em"> 
                 E-Mail<p> 
    <input name="gt"> 
                 Geburtsdatum (in der Form JJJJ-MM-TT) Bsp.: 1988.06.16<p> 
    <input type="submit" name="gesendet"> 
    <input type="reset"> 
</form>

hoffe hat dir geholfen, ansonsten findest du mehr informationen zu register_globals hier
 
Zurück