Lid |
|
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.
<?php
require_once("../includes/initialize.php");
if(!$session->is_logged_in()) { redirect_to("index.php"); }
if(isset($_POST['submit'])) {
if($exists){
// Edit Admin
$admin = Admin::find_by_id($_GET['id']);
$admin->username = trim($_POST['username']);
$admin->password = md5(trim($_POST['password']));
if($admin->update()) {
redirect_to("admin_list.php");
}
} else {
// New Admin
$admin = new Admin();
$admin->id = create_id();
$admin->username = trim($_POST['username']);
$admin->password = md5(trim($_POST['password']));
if($admin->create()) {
redirect_to("admin_list.php");
};
}
} else {
if(isset($_GET['id'])){
$admin = Admin::find_by_id($_GET['id']);
$exists = true;
} else {
$admin = new Admin();
$admin->id = "";
$admin->username = "";
$admin->password = "";
$exists = false;
}
}
?>
<?php include_layout_template('header.php'); ?>
<?php include_layout_template('navigation.php'); ?>
<div class="content">
<h2>Administrators</h2>
<?php echo output_message($message); ?>
<form action="admin_mod.php" method="post">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username" value="<?php echo htmlentities($admin->username); ?>" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" value="<?php echo htmlentities($admin->password); ?>" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Save" /></td>
</tr>
</table>
</form>
</div>
<?php include_layout_template('footer.php'); ?>
<?php require_once("../includes/initialize.php"); if(!$session->is_logged_in()) { redirect_to("index.php"); } if(isset($_POST['submit'])) { if($exists){ // Edit Admin $admin = Admin::find_by_id($_GET['id']); $admin->username = trim($_POST['username']); $admin->password = md5(trim($_POST['password'])); if($admin->update()) { redirect_to("admin_list.php"); } } else { // New Admin $admin = new Admin(); $admin->id = create_id(); $admin->username = trim($_POST['username']); $admin->password = md5(trim($_POST['password'])); if($admin->create()) { redirect_to("admin_list.php"); }; } } else { $admin = Admin::find_by_id($_GET['id']); $exists = true; } else { $admin = new Admin(); $admin->id = ""; $admin->username = ""; $admin->password = ""; $exists = false; } } ?> <?php include_layout_template('header.php'); ?> <?php include_layout_template('navigation.php'); ?> <div class="content"> <h2>Administrators</h2> <?php echo output_message ($message); ?> <form action="admin_mod.php" method="post"> <table> <tr> <td>Username:</td> <td><input type="text" name="username" value=" <?php echo htmlentities($admin->username); ?>" /></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="password" value=" <?php echo htmlentities($admin->password); ?>" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="submit" value="Save" /></td> </tr> </table> </form> </div> <?php include_layout_template('footer.php'); ?>
|