login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP Form Submit

Offline dbe123 - 09/04/2011 00:21 (laatste wijziging 09/04/2011 00:38)
Avatar van dbe123Lid Hoi,

Ik heb een PHP bestand, waarbij ik probeer in één file zowel een INSERT commando als een UPDATE commando te combineren.
De trigger voor deze 2 keuzes is het ID dat wordt meegegeven in de URL.

Ik krijg het echter niet 100 % werkend.
Het INSERT gedeelte werkt naar behoren, maar bij het UPDATE commando wordt er toch een nieuw record gemaakt, terwijl hij eigenlijk het bestaande moet updaten.

Dit ligt volgens mij aan de Form Action, waar er geen ID wordt meegegeven. Alleen slaag ik er niet in dit te corrigeren.

Iemand een idee?

Dank bij voorbaat.

  1. <?php
  2. require_once("../includes/initialize.php");
  3. if(!$session->is_logged_in()) { redirect_to("index.php"); }
  4.  
  5. if(isset($_POST['submit'])) {
  6. if($exists){
  7. // Edit Admin
  8. $admin = Admin::find_by_id($_GET['id']);
  9. $admin->username = trim($_POST['username']);
  10. $admin->password = md5(trim($_POST['password']));
  11. if($admin->update()) {
  12. redirect_to("admin_list.php");
  13. }
  14. } else {
  15. // New Admin
  16. $admin = new Admin();
  17. $admin->id = create_id();
  18. $admin->username = trim($_POST['username']);
  19. $admin->password = md5(trim($_POST['password']));
  20. if($admin->create()) {
  21. redirect_to("admin_list.php");
  22. };
  23. }
  24. } else {
  25. if(isset($_GET['id'])){
  26. $admin = Admin::find_by_id($_GET['id']);
  27. $exists = true;
  28. } else {
  29. $admin = new Admin();
  30. $admin->id = "";
  31. $admin->username = "";
  32. $admin->password = "";
  33. $exists = false;
  34. }
  35. }
  36. ?>
  37. <?php include_layout_template('header.php'); ?>
  38. <?php include_layout_template('navigation.php'); ?>
  39. <div class="content">
  40. <h2>Administrators</h2>
  41. <?php echo output_message($message); ?>
  42. <form action="admin_mod.php" method="post">
  43. <table>
  44. <tr>
  45. <td>Username:</td>
  46. <td><input type="text" name="username" value="<?php echo htmlentities($admin->username); ?>" /></td>
  47. </tr>
  48. <tr>
  49. <td>Password:</td>
  50. <td><input type="password" name="password" value="<?php echo htmlentities($admin->password); ?>" /></td>
  51. </tr>
  52. <tr>
  53. <td colspan="2"><input type="submit" name="submit" value="Save" /></td>
  54. </tr>
  55. </table>
  56. </form>
  57. </div>
  58. <?php include_layout_template('footer.php'); ?>

2 antwoorden

Gesponsorde links
Offline ArieMedia - 11/04/2011 12:02
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
$exists op regel 6 is niet gezet.
Offline Jurgo - 11/04/2011 14:52
Avatar van Jurgo PHP interesse kan je de admin_id als hidden field meegeven? Dan kun je deze als post waarde controleren en gebruiken voor je update.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s