Hilfe bei Formularen mit PHP

NanoNuna

Mitglied
Hallo zusammen,

habe zwei Formulare erstellt. Und zwar geht es um eine kleine Benutzerverwaltung. Ich möchten eine Benutzerauswählen(Skript1) könnten und diesen Datensatz dann zum abändern nochmals separate anzeigen lassen (Skript2).

Mein Problem ist, dass er nie erkennt, dass ich eine Datensatz ausgwählt habe.

Skript1:
PHP:
<html>
<body>
Wählen Sie aus, welcher Datensatz geändert werden soll:<p>
<form action = "skript2.php" method = "post">
<?php
   $db = mysql_connect("localhost", "root") or die("Verbindungsversuch fehlgeschlagen");
   $res = mysql_db_query("test",
      "SELECT id, username, mail, abteilung
            FROM benutzer
            ORDER BY id");
   $num = mysql_num_rows($res);

   // Tabellenbeginn
   echo "<table border>";

   // Überschrift
   echo "<tr> <td>Auswahl</td> <td>Username</td>";
   echo "<td>Mail</td> <td>Abteilung</td>";
   echo "</tr>";

   for ($i=0; $i<$num; $i++)
   {
      $nn = mysql_result($res, $i, "username");
      $vn = mysql_result($res, $i, "mail");
      $pn = mysql_result($res, $i, "id");
      $ge = mysql_result($res, $i, "abteilung");
      

      // Tabellenzeile mit -zellen
      echo "<tr> <td><input type='radio' name='auswahl'";
      echo " value='$pn'></td> <td>$nn</td> <td>$vn</td>";
      echo " <td>$ge</td></tr>";
   }

   // Tabellenende
   echo "</table>";

   mysql_close($db);
?>
   <p>
   <input type="submit" value="Datensatz anzeigen">
</form>
</body>
</html>

Skript2:
PHP:
<html>
<body>
<?php
if ($auswahl)
{
  $db = mysql_connect("localhost", "root") or die("Verbindungsversuch fehlgeschlagen");

   $sqlab = "select * from benutzer where";
   $sqlab .= " id = $auswahl";

   $res = mysql_db_query("test", $sqlab);

   $altnn = mysql_result($res, 0, "username");
   $altvn = mysql_result($res, 0, "mail");
   $altge = mysql_result($res, 0, "abteilung");

   echo "Führen Sie die Änderungen durch,<p>";
   echo "betätigen Sie anschließend den Button<p>";

   echo "<form action = 'skript3.php' ";
   echo " method = 'post'>";

   echo "<input name='neunn' value='$altnn'>";
   echo " Username<p>";
   echo "<input name='neuvn' value='$altvn'> ";
   echo " Mail<p>";
   echo "<input name='neupn' value='$auswahl'>";
   echo " ID<p>";
   echo "<input type='hidden' name='oripn' ";
   echo " value='$auswahl'>";

   echo "<input type='submit' ";
   echo " value='Änderungen in DB speichern'><p>";
   echo "<input type='reset'>";
   echo "</form>";

   mysql_close($db);
}

else
   echo "Es wurde kein Datensatz ausgewählt<p>";
?>
</body>
</html>

Hoffe mir kann jemand weiter helfen bzw. sagen was an den Skripten falsch ist.

Vielen Dank im Voraus.

Gruß
Nano
 
Hallo zusammen,

habe noch ein Problem und zwar mit dem Skript3.
Mit diesem soll die Update Funktion ausgeführt werden.

Das Problem ist, wenn ich diese ausführe, der Inhalt des Datensatzes gelöscht ist.

Skript3:

PHP:
<html>
<body>
<?php
  $db = mysql_connect("localhost", "root") or die("Verbindungsversuch fehlgeschlagen");
  
   $sqlab = "update benutzer set id = '$neupn',";
   $sqlab .= "username = '$neunn',";   		
   $sqlab .= "mail = '$neuvn',";
   $sqlab .= "abteilung = '$neugt'";
   $sqlab .= "where id = $_POST[oripn]";

   mysql_db_query("test", $sqlab);

   $num = mysql_affected_rows();
   if ($num>0)
      echo "Der Datensatz wurde geändert<p>";
   else
      echo "Der Datensatz wurde nicht geändert<p>";

   mysql_close($db);
?>
Zurück zur <a href="benutzer_verwalten_admin.php">Auswahl</a>

</body>
</html>

Hoffe mir kann noch mal jemand helfen?

Vielen Dank im Voraus.

Gruß
Nano
 
du setzt sozusagen eine neue id, aber suchst trotzdem nach der alten ID? Also eine ID wird eigentlich im Prinzip nie geändert, und bleibt bestehen, und sollte nicht geändert werden, weil vielleicht noch andere Tabellen mit der ID verknüpft sind.
 
Stimmt du hast recht.
Habe das mit der Neuen ID herausgenommen.
Es funktioniert leider immer noch nicht mit dem Update.

Hoffe du kannst mir da evtl. weiter helfen

Gruß
Nano
 
So, habe es ausprobiert, funktioniert leider nicht.
Soll ich dir vielleicht mal die Skript noch mal hier her kopieren

Gruß
Nano
 
Versuch mal das hier:
PHP:
<html>
<body>
<?php
  $db = mysql_connect("localhost", "root") or die("Verbindungsversuch fehlgeschlagen");
  mysql_select_db("test",$db);
   $sqlab = "UPDATE benutzer set username = '$neunn', mail = '$neuvn', abteilung = '$neugt' where id = '$_POST[oripn]'";
   $result = mysql_query($sqlab,$db);
   

   $num = mysql_affected_rows();
   if ($num>0)
      echo "Der Datensatz wurde geändert<p>";
   else
      echo "Der Datensatz wurde nicht geändert<p>";

   mysql_close($db);
?>
Zurück zur <a href="benutzer_verwalten_admin.php">Auswahl</a>

</body>
</html>
 
Danke!

Hat leider nicht funktioniert. Ich kann dir gerne noch mal die Skripte zeigen, evtl. fällt dir ja was auf


Gruß
Nano
 
Zurück