Script funktioniert nicht

next1

Mitglied
Hallo zusammen,
ich schon wieder.....................:D

bin immer noch dabei ein LoginScript für User zu schreiben.........
das Einlogen funktioniert DANK eurer Hilfe jetzt einwandfrei.....

nun bin ich dran ein Formular zu erstellen, mit dem ich die Daten in die SQL-DB eintragen kann. Der manuelle Eintrag per PHPMyAdmin ghet ohne Probleme......
wen ich nur das ganze über das Formular machen will, zeigt er mir das gaze auch ohen Fehlermeldung an, aber wenn ich auf Senden drücke kommt keine Reaktion, obwohl er bei leeren Feldern einen Meldung ausgeben sollte.
Er gibt mir keine Meldung ob er sich an der DB hat anmelden können oder nicht, auch wenn ich etwas Eintrage und dann auf Senden drücke, passiert nichts...aber wirklich nichts...es werden auch keine Daten in der DB eingetragen.......

Ich erstelle das ganze am Laptop mit laufendem XAMPP, SQL ist auf localhost, root und Password eingerichtet.....
kann es sein das das ganze Script nicht auf ein und der selben Maschine geht warum auch immer nicht.......

hier einmal das Formular was ich gemacht habe.......ist vielleicht nicht auf dem neusten Stand von PHP.......
PHP:
<html>
<body>
<?php
if($flag==1)
{
//testen ob alle Angaben gemacht wurden
if(!$Hd_Nr){$fehler="Bitte die Händler-Nr. angeben!! <br>";}
if(!$Kennwort){$fehler.="Bitte das Händler-Kennwort angeben!! <br>";}
if(!$Password){$fehler.="Bitte das Händler-Password wiederholt angeben!! <br>";}
if(!$Hd_Name){$fehler.="Bitte den Namen des Händlers eintragen!! <br>";}
if(!$Nachname){$fehler.="Bitte geben Sie den Nachnamen des Händlers an!! <br>";}
if(!$PLZ){$fehler.="Bitte die PLZ des Händlerstandortes angeben!! <br>";}
if(!$Ort){$fehler.="Bitte den Händlerstandort angeben!! <br>";}
if(!$Site){$fehler.="Geben Sie an für welchen Hersteller Sie den Händler anlegen!! <br>";}
if(!$Place){$fehler.="Bitte geben Sie den Stauts des Händlers an!! <br>";}

if($fehler)
{
$meldung="<font color=red>".$fehler."</font>";
unset($flag);
}
else// Wenn kein fehler vorliegt, Daten in Datenbank eintragen
{
//Daten in DB eintragen
$host = "localhost";
$user = "root";
$pwd = "xxxxxx";
$db = "loginsystem";
$tabellenname = "benutzerdaten";
//Mit der DB verbinden
$datenbank = mysql_connect("$host", "$user", "$pwd")or die ("Verbindung fehlgeschlagen: ");
mysql_select_db("$db") or die ("Datenbank nicht gefunden oder fehlerhaft");
$sql= mysql_query("INSERT INTO $tabellenname (Hd_Nr, Kennwort, Password, Hd_Name, Vorname, Nachname, PLZ, Ort, Site, Place) values 
('$Hd_Nr', '$Kennwort', '$Password', '$Hd_Name', '$Vorname', '$Nachname', '$PLZ', '$Ort', '$Site', '$Place') ");
if(!mysql_query($sql)){echo "Datenbankfehler";}
$meldung = "Eintrag erfolgt!!";
mysql_close($datenbank);
}
//Ausgabe der Meldung
echo $meldung;
}
//Ende
if(!$flag)
{
?>
<form action='<?php echo $PHP_SELF; ?>'method="POST">

  <table width="55%"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="4%" rowspan="12"><input type=hidden name=flag value=1></td>
      <td width="23%">H&auml;ndler-Nr:</td>
      <td width="67%"><input name="Hd_Nr" type="text" maxlength="50" value='<?php echo $Hd_Nr; ?>'></td>
      <td width="6%" rowspan="12">&nbsp;</td>
    </tr>
    <tr>
      <td>Kennwort:</td>
      <td><input name="Kennwort" type="text" maxlength="8" value='<?php echo $Kennwort; ?>'></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="Password" type="text" maxlength="8" value='<?php echo $Password; ?>'></td>
    </tr>
    <tr>
      <td>H&auml;ndler-Name:</td>
      <td><input name="Hd_Name" type="text" size="60" value='<?php echo $Hd_Name; ?>'></td>
    </tr>
    <tr>
      <td>Vormane:</td>
      <td><input name="Vorname" type="text" size="60" value='<?php echo $Vorname; ?>'></td>
    </tr>
    <tr>
      <td>Nachname:</td>
      <td><input name="Nachname" type="text" size="60" value='<?php echo $Nachname; ?>'></td>
    </tr>
    <tr>
      <td>PLZ:</td>
      <td><input name="PLZ" type="text" size="10" maxlength="5" value='<?php echo $PLZ; ?>'></td>
    </tr>
    <tr>
      <td>Ort:</td>
      <td><input name="Ort" type="text" size="60" value='<?php echo $Ort; ?>'></td>
    </tr>
    <tr>
      <td>Kunde:</td>
      <td><select name="Kunde"><?php echo $Site; ?>
        <option value="--">--</option>
		<option value="xxx">xxx</option>
      </select></td>
    </tr>
    <tr>
      <td>Status:</td>
      <td valign="top"><select name="Place"><?php echo $Place; ?>
        <option value="--">--</option>
		<option value="intern">aktiv</option>
		<option value="stop">gesperrt</option>
      </select>
        </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" >
      </div></td>
    </tr>
  </table>
</form>
<?php
}
?>
</body>
</html>


Danke schonmal für eure Hilfe
Dieter
 
Probiers mal mit

PHP:
if($_POST["flag"]==1)
{
//testen ob alle Angaben gemacht wurden
if(!$_POST["$Hd_Nr"]){$fehler="Bitte die Händler-Nr. angeben!! <br>";}
if(!$_POST["$Kennwort"]){$fehler.="Bitte das Händler-Kennwort angeben!! <br>";}

usw...


Außerdem:

PHP:
$datenbank = mysql_connect($host, $user, $pwd)

Aber das ist nur Verschönerung (und Performance-Steigerung^^)

Und jetzt schützen wir uns noch vor SQL-Injections

PHP:
$Hd_Nr = mysql_real_escape_string($_POST["Nd_Nr"]);
...usw...

$sql= mysql_query("INSERT INTO ".$tabellenname." (Hd_Nr, Kennwort, Password, Hd_Name, Vorname, Nachname, PLZ, Ort, Site, Place) values 
('".$Hd_Nr."', '".$Kennwort."', '".$Password."', '".$Hd_Name."', '".$Vorname."', '".$Nachname."', '".$PLZ."', '".$Ort."', '".$Site."', '".$Place."') ");
 
Zuletzt bearbeitet:
Danke für deine Hilfe und Vorschläge "gueicherius".....

leider habe ich jetzt sofort nach dem Öffnen der Seite permanent die Meldung auf dem Schirm, das ich die "Hd_Nr eingeben soll..
das Problem der Prüfung der leere Felder sowie das Absenden der ganzen Sache bzw, das Melden wenn das Senden nicht geht .....funktioniert auch mit deinen Änderungen nicht........

Aber trotzdem Dank für deine Mühe
Dieter
 
Zuletzt bearbeitet:
Hehe erstmal heiß ich Queicherius!!

Hier mal ne optimierte Version von dem Script, die bei mir einwandfrei Funktioniert :)

PHP:
<html>
<body>
<?php
if($_POST["flag"])
{

$Hd_Nr = trim(mysql_real_escape_string($_POST["Hd_Nr"]));
$Passwort = trim(mysql_real_escape_string($_POST["Passwort"])); // Hab ich umbenannt
$Passwortwiederholung = trim(mysql_real_escape_string($_POST["Passwortwiederholung"])); // Hab ich umbenannt
$Hd_Name = trim(mysql_real_escape_string($_POST["Hd_Name"]));
$Nachname = trim(mysql_real_escape_string($_POST["Nachname"]));
$Vorname = trim(mysql_real_escape_string($_POST["Vorname"]));
$PLZ = trim(mysql_real_escape_string($_POST["PLZ"]));
$Ort = trim(mysql_real_escape_string($_POST["Ort"]));
$Kunde = trim(mysql_real_escape_string($_POST["Kunde"]));
$Status = trim(mysql_real_escape_string($_POST["Status"]));


//testen ob alle Angaben gemacht wurden
if(!$Hd_Nr){$fehler.="Bitte die Händler-Nr. angeben!! <br>";}
if(!$Passwort){$fehler.="Bitte das Händler-Kennwort angeben!! <br>";}
if(!$Passwortwiederholung){$fehler.="Bitte das Händler-Password wiederholt angeben!! <br>";}
if(!$Hd_Name){$fehler.="Bitte den Namen des Händlers eintragen!! <br>";}
if(!$Nachname){$fehler.="Bitte geben Sie den Nachnamen des Händlers an!! <br>";}
if(!$Vorname){$fehler.="Bitte geben Sie den Vorname des Händlers an!! <br>";}
if(!$PLZ){$fehler.="Bitte die PLZ des Händlerstandortes angeben!! <br>";}
if(!$Ort){$fehler.="Bitte den Händlerstandort angeben!! <br>";}
if(!$Status and $Status != "--"){$fehler.="Geben sie bitte einen Stauts ein!! <br>";}
if(!$Ort){$fehler.="Bitte geben Sie den Ort des Händlers an!! <br>";}
if(!$Kunde and $Kunde != "--"){$fehler.="Bitte geben Sie den Kunden an!! <br>";}

//testen ob die Angaben den Erwartungen entsprechen
if(!is_numeric($Hd_Nr)){$fehler.="Bitte die Händler-Nr. als Zahl angeben!! <br>";}
if(!preg_match("#[\d]{5}#", $PLZ)){$fehler.="Bitte die PLZ korrekt angeben!! <br>";}

if($fehler)
{
$meldung="<font color=red>".$fehler."</font>";
}
else// Wenn kein fehler vorliegt, Daten in Datenbank eintragen
{
//Daten für die DB
$host = "localhost";
$user = "root";
$pwd = "xxxxxx";
$db = "loginsystem";
$tabellenname = "benutzerdaten";

//Mit der DB verbinden
$datenbank = mysql_connect($host, $user, $pwd) or die ("Verbindung fehlgeschlagen: ".mysql_error());
mysql_select_db($db) or die ("Datenbank nicht gefunden oder fehlerhaft: ".mysql_error());

$sql = "INSERT INTO `".$tabellenname."` 
          (`Hd_Nr`, `Kennwort`, `Password`, `Hd_Name`, `Vorname`, `Nachname`, `PLZ`, `Ort`, `Status`, `Kunde`) 
        VALUES 
          ('".$Hd_Nr."', '".$Passwort."', '".$Passwortwiederholung."', '".$Hd_Name."', '".$Vorname."', '".$Nachname."', '".$PLZ."', '".$Ort."', '".$Status."', '".$Kunde."')
         ;";
         
         // Beim Fehlersuchen in der folgenden Zeile das # löschen
         #echo "Query: ".$sql;

$query = mysql_query($sql);

if(!$query){
  $meldung = "Datenbankfehler";
}else{
  $meldung = "Eintrag erfolgt!!";
}

mysql_close($datenbank);



}


//Ausgabe der Meldung
echo $meldung;

}

if(!$_POST["flag"] or $fehler){



?>

<form action="" method="POST">

<input type="hidden" name="flag" value="true">

  <table width="55%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="4%" rowspan="12"></td>
      <td width="23%">H&auml;ndler-Nr:</td>
      <td width="67%"><input name="Hd_Nr" type="text" maxlength="50" value='<?php echo $Hd_Nr; ?>'></td>
      <td width="6%" rowspan="12">&nbsp;</td>
    </tr>
    <tr>
      <td>Passwort:</td>
      <td><input name="Passwort" type="text" maxlength="8" value='<?php echo $Passwort; ?>'></td>
    </tr>
    <tr>
      <td>Passwortwiederholung:</td>
      <td><input name="Passwortwiederholung" type="text" maxlength="8" value='<?php echo $Passwortwiederholung; ?>'></td>
    </tr>
    <tr>
      <td>H&auml;ndler-Name:</td>
      <td><input name="Hd_Name" type="text" size="60" value='<?php echo $Hd_Name; ?>'></td>
    </tr>
    <tr>
      <td>Vorname:</td>
      <td><input name="Vorname" type="text" size="60" value='<?php echo $Vorname; ?>'></td>
    </tr>
    <tr>
      <td>Nachname:</td>
      <td><input name="Nachname" type="text" size="60" value='<?php echo $Nachname; ?>'></td>
    </tr>
    <tr>
      <td>PLZ:</td>
      <td><input name="PLZ" type="text" size="10" maxlength="5" value='<?php echo $PLZ; ?>'></td>
    </tr>
    <tr>
      <td>Ort:</td>
      <td><input name="Ort" type="text" size="60" value='<?php echo $Ort; ?>'></td>
    </tr>
    <tr>
      <td>Kunde:</td>
      <td><select name="Kunde"><?php echo $Kunde; ?>
        <option value="--">--</option>
        <option value="xxx">xxx</option>
      </select></td>
    </tr>
    <tr>
      <td>Status:</td>
      <td valign="top"><select name="Status"><?php echo $Status; ?>
        <option value="--">--</option>
        <option value="intern">aktiv</option>
        <option value="stop">gesperrt</option>
      </select>
        </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" >
      </div></td>
    </tr>
  </table>
</form>
<?php
}
?>
</body>
</html>
 
Hallo,
ich habe mir jetzt einmal den neuen XAMPP installiert, dachte vielleicht das es daran liegen könnte...fehlanzeige....
das ganze haut warum auch immer nicht hin.......
Nach dem Einbinden des neuen Scriptes von "queicherius" habe ich nun neue Fehlermeldungen
wie zb.
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\User_Test_New\admin\kd-eingabe.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\User_Test_New\admin\kd-eingabe.php on line 7
usw. ......
Und er zeigt mir alle Fehlermeldungen an, die er eigentlich nur dann zeigen sollte, wenn beim Absenden der Daten einige oder alle Felder leer sind......

wenn ich aber die User mit folgendem Script anlege/eintrage habe ich keinerlei Probleme.......
PHP:
<?php 
// Definition der Benutzer 
$benutzer[0]["Hd_Nr"] ="mu12345"; 
$benutzer[0]["Passwort"] = "xxxx"; 
$benutzer[0]["Passwortwiederholung"] = "xxxx";
$benutzer[0]["Hd_Name"] = "Händler-Mustermann";
$benutzer[0]["Vorname"] = "Mustermann"; 
$benutzer[0]["Nachname"] = "Max"; 
$benutzer[0]["PLZ"] = "1234";
$benutzer[0]["Ort"] = "Testhausen";
$benutzer[0]["Kunde"] = "Mazda";
$benutzer[0]["Status"] = "intern";

$benutzer[1]["Hd_Nr"] ="adm121212"; 
$benutzer[1]["Passwort"] = "xxxx"; 
$benutzer[1]["Passwortwiederholung"] = "xxxx";
$benutzer[1]["Hd_Name"] = "Admin";
$benutzer[1]["Vorname"] = "xxx"; 
$benutzer[1]["Nachname"] = "xxxxx"; 
$benutzer[1]["PLZ"] = "45127";
$benutzer[1]["Ort"] = "Essen";
$benutzer[1]["Kunde"] = "Admin";
$benutzer[1]["Status"] = "xxxx";



// Sie können an dieser Stelle beliebig viele Benutzer anlegen. 
// Achten Sie dabei nur auf die Fortführung der Nummer. 

// Aufbau der Datenbankverbindung 
$connectionid  = mysql_connect ("localhost", "root", "xxxx"); 
if (!mysql_select_db ("loginsystem", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. 
mysql_query ("DELETE FROM benutzerdaten"); 

// Daten eintragen 
while (list ($key, $value) = each ($benutzer)) 
{ 
  // SQL-Anweisung erstellen 
  $sql = "INSERT INTO ".
    "benutzerdaten (Hd_Nr, Passwort, Passwortwiederholung, Hd_Name, Vorname, Nachname, PLZ, Ort, Kunde, Status) ".
  "VALUES ('".$value["Hd_Nr"]."', '".
                       md5 ($value["Passwort"])."', '".
					   $value["Passwortwiederholung"]."', '".
					   $value["Hd_Name"]."', '".
                       $value["Vorname"]."', '".
                       $value["Nachname"]."','".
		       			$value["PLZ"]."','".	
						$value["Ort"]."','".
						$value["Kunde"]."','".
						$value["Status"]."')";
  mysql_query ($sql); 

  if (mysql_affected_rows ($connectionid) > 0) 
  { 
    echo "Benutzer erfolgreich angelegt.<br>\n"; 
  } 
  else 
  { 
   echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
  } 
} 
?>

warum zum Henker bekomme ich mit dem nächsten Script keine Verbindung zur SQL-DB
PHP:
<html>
<body>
<?php
if($_POST["flag"])
{

$Hd_Nr = trim(mysql_real_escape_string($_POST["Hd_Nr"]));
$Passwort = trim(mysql_real_escape_string($_POST["Passwort"])); 
$Passwortwiederholung = trim(mysql_real_escape_string($_POST["Passwortwiederholung"]));
$Hd_Name = trim(mysql_real_escape_string($_POST["Hd_Name"]));
$Nachname = trim(mysql_real_escape_string($_POST["Nachname"]));
$Vorname = trim(mysql_real_escape_string($_POST["Vorname"]));
$PLZ = trim(mysql_real_escape_string($_POST["PLZ"]));
$Ort = trim(mysql_real_escape_string($_POST["Ort"]));
$Kunde = trim(mysql_real_escape_string($_POST["Kunde"]));
$Status = trim(mysql_real_escape_string($_POST["Status"]));


//testen ob alle Angaben gemacht wurden
if(!$Hd_Nr){$fehler.="Bitte die Händler-Nr. angeben!! <br>";}
if(!$Passwort){$fehler.="Bitte das Händler-Kennwort angeben!! <br>";}
if(!$Passwortwiederholung){$fehler.="Bitte das Händler-Password wiederholt angeben!! <br>";}
if(!$Hd_Name){$fehler.="Bitte den Namen des Händlers eintragen!! <br>";}
if(!$Nachname){$fehler.="Bitte geben Sie den Nachnamen des Händlers an!! <br>";}
if(!$Vorname){$fehler.="Bitte geben Sie den Vorname des Händlers an!! <br>";}
if(!$PLZ){$fehler.="Bitte die PLZ des Händlerstandortes angeben!! <br>";}
if(!$Ort){$fehler.="Bitte den Händlerstandort angeben!! <br>";}
if(!$Status and $Status != "--"){$fehler.="Geben sie bitte einen Stauts ein!! <br>";}
if(!$Ort){$fehler.="Bitte geben Sie den Ort des Händlers an!! <br>";}
if(!$Kunde and $Kunde != "--"){$fehler.="Bitte geben Sie den Kunden an!! <br>";}

//testen ob die Angaben den Erwartungen entsprechen
//if(!is_numeric($Hd_Nr)){$fehler.="Bitte die Händler-Nr. als Zahl angeben!! <br>";}Händler-Nr ist nicht nur Nr
if(!preg_match("#[\d]{5}#", $PLZ)){$fehler.="Bitte die PLZ korrekt angeben!! <br>";}

if($fehler)
{
$meldung="<font color=red>".$fehler."</font>";
}
else// Wenn kein fehler vorliegt, Daten in Datenbank eintragen
{
//Daten für die DB
$host = "localhost";
$user = "root";
$pwd = "xxx";
$db = "loginsystem";
$tabellenname = "benutzerdaten";

//Mit der DB verbinden
$datenbank = mysql_connect($host, $user, $pwd) or die ("Verbindung fehlgeschlagen: ".mysql_error());
mysql_select_db($db) or die ("Datenbank nicht gefunden oder fehlerhaft: ".mysql_error());

$sql = "INSERT INTO `".$tabellenname."` 
          (`Hd_Nr`, `Passwort`, `Passwortwiederholung`, `Hd_Name`, `Vorname`, `Nachname`, `PLZ`, `Ort`, `Status`, `Kunde`) 
        VALUES 
          ('".$Hd_Nr."', '".$Passwort."', '".$Passwortwiederholung."', '".$Hd_Name."', '".$Vorname."', '".$Nachname."', '".$PLZ."', '".$Ort."', '".$Status."', '".$Kunde."')
         ;";
         
         // Beim Fehlersuchen in der folgenden Zeile das # löschen
         echo "Query: ".$sql;

$query = mysql_query($sql);

if(!$query){
  $meldung = "Datenbankfehler";
}else{
  $meldung = "Eintrag erfolgt!!";
}

mysql_close($datenbank);



}


//Ausgabe der Meldung
echo $meldung;

}

if(!$_POST["flag"] or $fehler){



?>

<form action="<?php echo $PHP_SELF; ?>" method="POST">

<input type="hidden" name="flag" value="true">

  <table width="55%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="4%" rowspan="12"></td>
      <td width="23%">H&auml;ndler-Nr:</td>
      <td width="67%"><input name="Hd_Nr" type="text" maxlength="50" value='<?php echo $Hd_Nr; ?>'></td>
      <td width="6%" rowspan="12">&nbsp;</td>
    </tr>
    <tr>
      <td>Passwort:</td>
      <td><input name="Passwort" type="text" maxlength="8" value='<?php echo $Passwort; ?>'></td>
    </tr>
    <tr>
      <td>Passwortwiederholung:</td>
      <td><input name="Passwortwiederholung" type="text" maxlength="8" value='<?php echo $Passwortwiederholung; ?>'></td>
    </tr>
    <tr>
      <td>H&auml;ndler-Name:</td>
      <td><input name="Hd_Name" type="text" size="60" value='<?php echo $Hd_Name; ?>'></td>
    </tr>
    <tr>
      <td>Vorname:</td>
      <td><input name="Vorname" type="text" size="60" value='<?php echo $Vorname; ?>'></td>
    </tr>
    <tr>
      <td>Nachname:</td>
      <td><input name="Nachname" type="text" size="60" value='<?php echo $Nachname; ?>'></td>
    </tr>
    <tr>
      <td>PLZ:</td>
      <td><input name="PLZ" type="text" size="10" maxlength="5" value='<?php echo $PLZ; ?>'></td>
    </tr>
    <tr>
      <td>Ort:</td>
      <td><input name="Ort" type="text" size="60" value='<?php echo $Ort; ?>'></td>
    </tr>
    <tr>
      <td>Kunde:</td>
      <td><select name="Kunde"><?php echo $Kunde; ?>
        <option value="--">--</option>
        <option value="Mazda">Mazda</option>
      </select></td>
    </tr>
    <tr>
      <td>Status:</td>
      <td valign="top"><select name="Status"><?php echo $Status; ?>
        <option value="--">--</option>
        <option value="intern">aktiv</option>
        <option value="stop">gesperrt</option>
      </select>
        </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" >
      </div></td>
    </tr>
  </table>
</form>
<?php
}
?>
</body>
</html>
Bin ich wirklich soooooo blööd!?

Danke für eure Hilfe und eure Mühe!!
Dieter
 
Schieb mal das
PHP:
$host = "localhost";
$user = "root";
$pwd = "xxx";
$db = "loginsystem";
$tabellenname = "benutzerdaten";

//Mit der DB verbinden
$datenbank = mysql_connect($host, $user, $pwd) or die ("Verbindung fehlgeschlagen: ".mysql_error());
mysql_select_db($db) or die ("Datenbank nicht gefunden oder fehlerhaft: ".mysql_error());

ganz nach oben in das Script (vor <HTML>)... Hab ich gar nicht daran gedacht:

Code:
mysql_real_escape_string
benötigt eine Datenbankverbindung zur MySQL-DB :)

//EDIT:
Mir ist aufgefallen, dass ich das
PHP:
trim(mysql_real_escape_string($_POST["bla"]));
eher durch ne Funktion lösen würde^^

PHP:
function sqlString($s){

if (get_magic_quotes_gpc() === 1)
    $s = stripslashes($s);

$s = trim($s);
$s = mysql_real_escape_string($s);
return $s;

}
 
Zuletzt bearbeitet:
Hallo queicherius,
super danke für deine Mühe
aber auch bei deinem Überarbeiteten Script, habe ich das gleiche Problem....keine Fehlermeldung, keine Reaktion...nichts.........

diesen Eintrag hatte ich einfach unterhalt der DB-Verbindung geschoben....so das er zuerst an die db geht und dann dein
mysql_real_escape_String ausführt..................

habe jetzt ein Script aus einem anderen Forum....das geht, hat dafür aber eine Menge anderer probleme..keine Prüfung ob was eingetragen wurde, beim Reloaden der Seite macht der einen leeren Eintrag usw................. ich bin am verzweifeln und bekomme dir Krise....bin schon seit Sonntag morgen an dem scheixxx Script dran...und immer noch kein erfolg.....

egal was ich mache..die Verbindung zur DB wird aufgebaut....und dann ist ende ......er überminnt keinerlei Daten...du gibst die Info´s ein, drückst auf Senden und das wars...... alle Meldunge die zeigen sollten das etwas nicht stimmt...werden igrnoiert



mir kommt das langsam so vor als würde das gesamte script nicht ausführen...... oder bein senen in die tonne hauen......


Grüße an dich
Dieter
 
So jetzt hab ich's auch mit DB versucht: Funktioniert tadellos!

diesen Eintrag hatte ich einfach unterhalt der DB-Verbindung geschoben....so das er zuerst an die db geht und dann dein
mysql_real_escape_String ausführt..................

Ah! Das geht natürlich nicht, denn dieser Eintrag befüllt die Variable und sichert sie! Probier mal folgenden Code:

PHP:
<?php 
//Daten für die DB
$host = "localhost";
$user = "root";
$pwd = "";
$db = "daten";
$tabellenname = "benutzerdaten";

//Mit der DB verbinden
$datenbank = mysql_connect($host, $user, $pwd) or die ("Verbindung fehlgeschlagen: ".mysql_error());
mysql_select_db($db) or die ("Datenbank nicht gefunden oder fehlerhaft: ".mysql_error());

 ?><html>
<body>
<?php

function sqlString($s){

if (get_magic_quotes_gpc() === 1)
    $s = stripslashes($s);

$s = trim($s);
$s = mysql_real_escape_string($s);
return $s;

}  

if($_POST["flag"])
{

$Hd_Nr = sqlString($_POST["Hd_Nr"]);
$Passwort = sqlString($_POST["Passwort"]);
$Passwortwiederholung = sqlString($_POST["Passwortwiederholung"]);
$Hd_Name = sqlString($_POST["Hd_Name"]);
$Nachname = sqlString($_POST["Nachname"]);
$Vorname = sqlString($_POST["Vorname"]);
$PLZ = sqlString($_POST["PLZ"]);
$Ort = sqlString($_POST["Ort"]);
$Kunde = sqlString($_POST["Kunde"]);
$Status = sqlString($_POST["Status"]);


//testen ob alle Angaben gemacht wurden
if(!$Hd_Nr){$fehler.="Bitte die Händler-Nr. angeben!! <br>";}
if(!$Passwort){$fehler.="Bitte das Händler-Password angeben!! <br>";}
if(!$Passwortwiederholung){$fehler.="Bitte das Händler-Password wiederholt angeben!! <br>";}
if($Passwort != $Passwortwiederholung){$fehler .= "Das Passwort und die Passwortwiederholung stimmen nicht überein!<br>";}
if(!$Hd_Name){$fehler.="Bitte den Namen des Händlers eintragen!! <br>";}
if(!$Nachname){$fehler.="Bitte geben Sie den Nachnamen des Händlers an!! <br>";}
if(!$Vorname){$fehler.="Bitte geben Sie den Vorname des Händlers an!! <br>";}
if(!$PLZ){$fehler.="Bitte die PLZ des Händlerstandortes angeben!! <br>";}
if(!$Ort){$fehler.="Bitte den Händlerstandort angeben!! <br>";}
if(!$Status and $Status != "--"){$fehler.="Geben sie bitte einen Stauts ein!! <br>";}
if(!$Ort){$fehler.="Bitte geben Sie den Ort des Händlers an!! <br>";}
if(!$Kunde and $Kunde != "--"){$fehler.="Bitte geben Sie den Kunden an!! <br>";}

//testen ob die Angaben den Erwartungen entsprechen
if(!is_numeric($Hd_Nr)){$fehler.="Bitte die Händler-Nr. als Zahl angeben!! <br>";}
if(!preg_match("#[\d]{5}#", $PLZ)){$fehler.="Bitte die PLZ korrekt angeben!! <br>";}

if($fehler)
{
$meldung="<font color=red>".$fehler."</font>";
}
else// Wenn kein fehler vorliegt, Daten in Datenbank eintragen
{

$sql = "INSERT INTO `".$tabellenname."` 
          (`Hd_Nr`, `Passwort`, `Passwortwiederholung`, `Hd_Name`, `Vorname`, `Nachname`, `PLZ`, `Ort`, `Status`, `Kunde`) 
        VALUES 
          ('".$Hd_Nr."', '".$Passwort."', '".$Passwortwiederholung."', '".$Hd_Name."', '".$Vorname."', '".$Nachname."', '".$PLZ."', '".$Ort."', '".$Status."', '".$Kunde."')
         ;";
         

$query = mysql_query($sql);

if(!$query){
  $meldung = "Datenbankfehler: ".mysql_error();
}else{
  $meldung = "Eintrag erfolgt!!";
}

mysql_close($datenbank);



}


//Ausgabe der Meldung
echo $meldung;

}

if(!$_POST["flag"] or $fehler){



?>

<form action="" method="POST">

<input type="hidden" name="flag" value="true">

  <table width="55%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="4%" rowspan="12"></td>
      <td width="23%">H&auml;ndler-Nr:</td>
      <td width="67%"><input name="Hd_Nr" type="text" maxlength="50" value='<?php echo $Hd_Nr; ?>'></td>
      <td width="6%" rowspan="12">&nbsp;</td>
    </tr>
    <tr>
      <td>Passwort:</td>
      <td><input name="Passwort" type="text" maxlength="8" value='<?php echo $Passwort; ?>'></td>
    </tr>
    <tr>
      <td>Passwortwiederholung:</td>
      <td><input name="Passwortwiederholung" type="text" maxlength="8" value='<?php echo $Passwortwiederholung; ?>'></td>
    </tr>
    <tr>
      <td>H&auml;ndler-Name:</td>
      <td><input name="Hd_Name" type="text" size="60" value='<?php echo $Hd_Name; ?>'></td>
    </tr>
    <tr>
      <td>Vorname:</td>
      <td><input name="Vorname" type="text" size="60" value='<?php echo $Vorname; ?>'></td>
    </tr>
    <tr>
      <td>Nachname:</td>
      <td><input name="Nachname" type="text" size="60" value='<?php echo $Nachname; ?>'></td>
    </tr>
    <tr>
      <td>PLZ:</td>
      <td><input name="PLZ" type="text" size="10" maxlength="5" value='<?php echo $PLZ; ?>'></td>
    </tr>
    <tr>
      <td>Ort:</td>
      <td><input name="Ort" type="text" size="60" value='<?php echo $Ort; ?>'></td>
    </tr>
    <tr>
      <td>Kunde:</td>
      <td><select name="Kunde"><?php echo $Kunde; ?>
        <option value="--">--</option>
        <option value="xxx">xxx</option>
      </select></td>
    </tr>
    <tr>
      <td>Status:</td>
      <td valign="top"><select name="Status"><?php echo $Status; ?>
        <option value="--">--</option>
        <option value="intern">aktiv</option>
        <option value="stop">gesperrt</option>
      </select>
        </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td valign="top">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2"><div align="right">
        <input type="submit" >
      </div></td>
    </tr>
  </table>
</form>
<?php
}
?>
</body>
</html>

(Übrigens mit folgender Tabellenstruktur)
SQL:
CREATE TABLE IF NOT EXISTS `benutzerdaten` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `Hd_Nr` int(11) NOT NULL,
  `Passwort` text NOT NULL,
  `Passwortwiederholung` text NOT NULL,
  `Hd_Name` text NOT NULL,
  `Nachname` text NOT NULL,
  `Vorname` text NOT NULL,
  `PLZ` int(5) NOT NULL,
  `Ort` text NOT NULL,
  `Kunde` text NOT NULL,
  `Status` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Wenn das Problem dann behoben ist würde ich dir empfehlen dich mal mit der Verschlüsselung von Passwörtern bekannt zu machen: md5

//EDIT: Und bezüglich der durchgängigen Kleinschreibung und den "............" im Forum ließ mal die Netiquette

#15: Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.
 
Zuletzt bearbeitet:
Hallo queicherius,
nochmals Danke für deine Hilfe und Mühe................... es geht......man bin ich froh, nun kann ich mich um die anderen Baustellen kümmern....löschen, bearbeiten von daten usw.

was das md5 anbelangt, brauchen wir uns keine sorgen zu machen, da es ein interne Händlerdatenbank sein wird...die nur wir bearbeiten können.
Die PWD´s sind mit absicht frei lesbar, denn wenn einer der Händler sein Passwort vergißt, muss kein neues erstellt werden....
das Passwort welches der Händler per Internet übermittelt ist natürlich mit md5 verschlüsselt

Danke für deine Hilfe
Dieter
 
Danke für dein Danke :)

Wenn alles funktioniert, dann ist ja gut :)

was das md5 anbelangt, brauchen wir uns keine sorgen zu machen, da es ein interne Händlerdatenbank sein wird...die nur wir bearbeiten können.

Hm und wenn die DB mal in die falschen Hände gerät - egal :p

Jetzt bitte nur noch unten links auf "erledigt" drücken :)
 
Zurück