sql abfrage in ein "Formular"

  • Themenstarter Themenstarter puschelchen
  • Beginndatum Beginndatum
Und was sagt uns das?

Beim Aufruf der Seite existiert $_POST["UserId"] nicht, somit ist und bleibt die Variable $UserId ebenfalls leer.

Deine Update-Anweisung sieht deshalb so aus:

SQL:
UPDATE Kunden SET Userid = ''  WHERE Userid =

Lies dir einfach mal durch was du hier für Antworten bekommen hast. Dann findest du auch den Fehler.
 
Notice: Undefined index: Userid in /srv/www/htdocs/abfragen.php on line 19 Unknown system variable 'Userid'

Datei:
abfragen.php
PHP:
<html>
<body>
<form action="" method="POST">
<div align="right"/>
Userid <input type="text" name="Userid"><br>
Vorname<input type="text" name="Vorname" ><br>
Nachname <input type="text" name="Nachname"><br>
Firma <input type="text" name="Firma" ><br>
Email<input type="text" name="Email" ><br>
Telefon<input type="text" name="Telefon"  ><br>
Laufzeit<input type="text" name="Laufzeit"><br>
Lizenz PC <input type="text" name="PCLizenzen"  ><br>
Seriennummer <input type="text" name="dpSrn"  ><br>
Datum Aktiv <input type="text" name="DatumAktiv"  ><br>
Datum End Aktiv <input type="text" name="DatumEndAktiv"   ><br>
<input type=submit name=submit value="Formular absenden"><br>
<?php
error_reporting(E_ALL);
$Userid=$_POST['Userid'];
$Host = "localhost";
$User = "david";
$Password = "a";
$dbname = "ABMC-Datenbank";
$tbl="Kunden";
mysql_connect('localhost', 'david', 'a') or die  ("Keine Verbindung möglich: ".mysql_error());
mysql_select_db($dbname) or die  ("Keine Verbindung möglich: ".mysql_error());
    $sql  = "SET Userid = '{$Userid}'  WHERE Userid = {$Userid};";
    mysql_query($sql) or die(mysql_error());
    echo mysql_affected_rows();

?>
</form>
</body>
</html>
+grml+ ich verstehs net was daran falsch is :( hoffentlich kommt bald mein sql buch .__.
 
Das "SQL Buch" wird dir da sicher nicht helfen, denn es hat absolut nichts mit SQL oder mySQL zu tun.

Der Fehler kommt daher das du (wie bereits mehrfach mitgeteilt) auf POST-Variablen zugreifst die es zu diesem Zeitpunkt nicht gibt!
 
scheint wohl so und ja ich hab die posts gelesen aber nya
es is mir langsam scheiss egal weils mich ankotzt ich geh erstma in urlaub....
 
Na dann kann ich dir nur eine gute Reise und ein paar schöne Tage wünschen.

Falls du mal während des Urlaubs nichts zu tun hast das Ganze nochmal:

Deine Seite wird aufgerufen und sämtlicher PHP Code abgearbeitet und genau das ist der Fehler.

Der Speichervorgang darf erst durchlaufen werden wenn du den Button angeklickt hast, denn sonst werden die benötigten Werte nicht übergeben.
 
PHP:
<html>
<body>
<form action="" method="POST">
<div align="right"/>
Userid <input type="text" name="Userid"><br>
Vorname<input type="text" name="Vorname" ><br>
Nachname <input type="text" name="Nachname"><br>
Firma <input type="text" name="Firma" ><br>
Email<input type="text" name="Email" ><br>
Telefon<input type="text" name="Telefon"  ><br>
Laufzeit<input type="text" name="Laufzeit"><br>
Lizenz PC <input type="text" name="PCLizenzen"  ><br>
Seriennummer <input type="text" name="dpSrn"  ><br>
Datum Aktiv <input type="text" name="DatumAktiv"  ><br>
Datum End Aktiv <input type="text" name="DatumEndAktiv"   ><br>
<input type=submit name=submit value="Formular absenden"><br>
<?php
error_reporting(E_ALL);
$Userid="";
if(isset($_POST['Abschicken'])){
if (isset($_POST["Userid"])){
$Userid=$_POST["Userid"];
}
$Host = "localhost";
$User = "david";
$Password = "a";
$dbname = "ABMC-Datenbank";
$tbl="Kunden";
mysql_connect('localhost', 'david', 'a') or die  ("Keine Verbindung möglich: ".mysql_error());
mysql_select_db($dbname) or die  ("Keine Verbindung möglich: ".mysql_error());
    $sql  = "SELECT * FROM $tbl WHERE Userid  ='".mysql_real_escape_string($_POST["Userid"])."'";
    mysql_query($sql) or die(mysql_error());
    echo mysql_affected_rows();
}
?>
</form>
</body>
</html>
meinst du so vll tombe?Die Felder allerdings bleiben leer
 
Ein Tipp am Rande: Tabulatoren!
Wenn du dein Code eingerückt schreibst, siehst man ohne abzählen welche Klammer wo geschlossen wird.
PHP:
error_reporting(E_ALL);
$Userid="";
if(isset($_POST['Abschicken'])){
    if (isset($_POST["Userid"])){
        $Userid=$_POST["Userid"];
    }
    $Host = "localhost";
    $User = "david";
    $Password = "a";
    $dbname = "ABMC-Datenbank";
    $tbl="Kunden";
    mysql_connect('localhost', 'david', 'a') or die  ("Keine Verbindung möglich: ".mysql_error());
    mysql_select_db($dbname) or die  ("Keine Verbindung möglich: ".mysql_error());
    $sql  = "SELECT * FROM $tbl WHERE Userid  ='".mysql_real_escape_string($_POST["Userid"])."'";
    mysql_query($sql) or die(mysql_error());
    echo mysql_affected_rows();
}

Aber: Was ist $_POST['Abschicken'] ? Dein Sende-Knopf heisst doch submit und nicht Abschicken.....
 
Ja das hab ich in meinem abgeändert hier noch nicht ;)
Jedenfalls fehlen noch das die Sachen die gefunden werden in den Feldern stehn
 
Zurück