action=?

campari

Erfahrenes Mitglied
Salve!

Komme bei folgendem edit-script nicht klar, warum, wenn ich das "<form action="-Ziel durch ein festes "index.php" ersetze, mir nix mehr in der db geändert wird? Will eben nicht in das formular zurückkehren, sondern direkt wieder im index.php landen. Steh megaatom auf dem Schlauch:

:
PHP:
$sqled = "SELECT * FROM $tbname WHERE id='$editid'";
  $resulted = mysql_query($sqled);
  if (!$resulted) {
  die ($fedit); 
  } else {
  while ($rowed = mysql_fetch_array($resulted)) {
  ?>
  &nbsp;<br>
  <h2 align="center">Eintrag "<?php echo $rowed["name"] ?>" &auml;ndern:</h2>
  &nbsp;<br>
 <form action="<?php echo basename($PHP_SELF)?>?editid=<?php echo $rowed["id"] ?>" method="POST" name="loginformular">
  <table align="center">
  
 <tr><td><h3>Wein:</h3></td><td><input type="text" name="weined" size="45" maxlength="25" value="<?php echo $rowed["wein"] ?>"><input type="hidden" name="editidx" value="<?php echo $editid ?>"></td></tr>
 <tr><td><h3>Wurst:</h3></td><td><input type="text" name="wursted" size="45" maxlength="100" value="<?php echo $rowed["wurst"] ?>"></td></tr>
 <tr><td><h3>Tod:</h3></td><td><input type="text" name="toded" size="45" maxlength="25" value="<?php echo $rowed["tod"] ?>"></td></tr>
  <tr><td>&nbsp;<input type="hidden" name="hiddenval" value="1"></td></tr>
 <tr><td><h3>Passwort:</h3></td><td><input name="pass" type="password" size="15" maxlength="7">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="eingabeed" value="hauwech"></td></tr>
  <?php
  }
  }
  ?>
  </table>
  </form>
  <?php 
  /* pw abfrage */
  if (!empty($pass)) {
  $sqlpass = "SELECT * FROM pssw ";
  $sqlpass .= "WHERE pssw = '$pass' ";
  $sqlpass .= "AND id = '$hiddenval'";
  $admin = mysql_query($sqlpass) or die($fadmin);
  $valadmin = mysql_num_rows($admin);
  /* bei validierung Eintrag in db*/
  if ($valadmin == 1) {
  $sql_save_edit = "UPDATE $tbname ";
  $sql_save_edit .= "SET wein = '$weined', wurst = '$wursted', tod = '$toded' ";
  $sql_save_edit .= "WHERE (id = '$editidx')";
  $result_save_edit = mysql_query($sql_save_edit);
  }
  }
 
Das action-Attribut gibt das formularverarbeitende Ziel an. Falls du nach dem Verarbeiten den Benutzer auf eine Andere Adresse umleiten möchtest, solltest du dies mit einem HTTP-Header machen.
 
Also dann zum Beispiel mit action= nach "zwischen.php" leiten, indem das formularverarbeitende script ist, und dem als header nach index.php folgen lassen?
Richtig vertsanden?

Gruss
 
zwischened.php :

PHP:
<?php 
   include("verbindung.php");
   include("variablen.php");
   /* pw abfrage */
   if (!empty($pass)) {
   $sqlpass = "SELECT * FROM pssw ";
   $sqlpass .= "WHERE pssw = '$pass' ";
   $sqlpass .= "AND id = '$hiddenval'";
   $admin = mysql_query($sqlpass) or die($fadmin);
   $valadmin = mysql_num_rows($admin);
   if ($valadmin == 1) {
   /* Wenn Editeintrag, dann Eintrag in tb */
   $sql_save_edit = "UPDATE $tbname ";
   $sql_save_edit .= "SET wein = '$weined', wurst = '$wursted', tod = '$toded' ";
   $sql_save_edit .= "WHERE (id = '$editidx')";
   $result_save_edit = mysql_query($sql_save_edit);
header("Location: index.php?auswgenre=" . $genreed . "");
   exit;
   }
   }
   ?>

Dangsen :)
 
Zuletzt bearbeitet:
Zurück