arjanvr Posted October 26, 2013 Share Posted October 26, 2013 This script was working but now suddenly when there is something to add it does nothing. No error, even with error reporting on (except then it shows a warning at the date input which should be Day-Week-year btw).. any clues what is wrong here if I have a bigger problem if i now mess up the script by trying to fix it.. Much appriciated <?php /* Staat de gebruiker toe om nieuwe records toe te voegen te bewerken */ // connect to the database include("connect-db.php"); ini_set('display_errors', 'On'); error_reporting(E_ALL); // Maakt nieuw/edit record formulier function renderForm($klantnummer = '', $bedrijfsnaam ='', $adres ='', $postcode ='', $plaats ='', $telefoon='', $londerhoud ='', $aantal ='', $vonderhoud='', $error = '', $id = '') { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title> <?php if ($id != '') { echo "Bewerk onderhoud"; } else { echo "Nieuw onderhoud"; } ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h1><?php if ($id != '') { echo "Bewerk onderhoud"; } else { echo "Nieuw onderhoud"; } ?></h1> <?php if ($error != '') { echo "<div style='padding:4px; border:1px solid red; color:red'>" . $error . "</div>"; } ?> <form action="" method="post"> <div> <?php if ($id != '') { ?> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <p>ID: <?php echo $id; ?></p> <?php } ?> <strong>Klantnummer:</strong> <input type="text" name="klantnummer" value="<?php echo $klantnummer; ?>"/><br/> <strong>Bedrijfsnaam:</strong> <input type="text" name="bedrijfsnaam" value="<?php echo $bedrijfsnaam; ?>"/><br/> <strong>Adres:</strong> <input type="text" name="adres" value="<?php echo $adres; ?>"/><br/> <strong>Postcode:</strong> <input type="text" name="postcode" value="<?php echo $postcode; ?>"/><br/> <strong>Plaats:</strong> <input type="text" name="plaats" value="<?php echo $plaats; ?>"/><br/> <strong>Telefoonnumer:</strong> <input type="text" name="telefoon" value="<?php echo $telefoon; ?>"/><br/> <strong>Laatste onderhoud:<br><small>dag-maand-jaar</small></strong> <input type="text" name="londerhoud" value="<?php echo (($londerhoud != "0") ? date("d-m-Y", $londerhoud) : 0); ?>"/><br/> <strong>Aantal apparaten:</strong> <input type="text" name="aantal" value="<?php echo $aantal; ?>"/><br/> <strong>Volgende onderhoud:<br><small>dag-maand-jaar</small></strong> <input type="text" name="vonderhoud" value="<?php echo (($vonderhoud != "0") ? date("d-m-Y", $vonderhoud) : 0) ?>"/><p/> <input type="submit" name="submit" value="Submit" /><p> <a href="index.html">Terug naar het overzicht</a> </div> </form> </body> </html> <?php } /* BEWERK RECORD */ // Wanneer de 'id' variabel is ingesteld in de URL, weten we dat we een record moeten aanpassen if (isset($_GET['id'])) { // Wanneer de submitknop word ingedrukt word het formulier verwerkt if (isset($_POST['submit'])) { // Zorgt ervoor dat de 'id' geldig is if (is_numeric($_POST['id'])) { // verkrijg variabelen van URL/formulier $id = $_POST['id']; $klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES); $bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES); $adres = htmlentities($_POST['adres'], ENT_QUOTES); $postcode = htmlentities($_POST['postcode'], ENT_QUOTES); $plaats = htmlentities($_POST['plaats'], ENT_QUOTES); $plaats = htmlentities($_POST['telefoon'], ENT_QUOTES); $londerhoud = htmlentities(strtotime($_POST['londerhoud']), ENT_QUOTES); $aantal = htmlentities($_POST['aantal'], ENT_QUOTES); $vonderhoud = htmlentities(strtotime($_POST['vonderhoud']), ENT_QUOTES); { // update de database if ($stmt = $mysqli->prepare("UPDATE klanten SET klantnummer = ?, bedrijfsnaam = ?, adres = ?, postcode = ?, plaats = ?, telefoon = ?, londerhoud = ?, aantal = ?, vonderhoud = ? WHERE id=?")) { $stmt->bind_param("sssssssssi", $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud, $id); $stmt->execute(); $stmt->close(); } // toont foutmelding indien nodig else { echo "ERROR: could not prepare SQL statement."; } // redirect na submit van formulier header("Location: view.php"); } } // bij ongeldige 'id' komt een foutmelding else { echo "Error!"; } } // Indien het formulier niet verstuurd is word de database en het formulier weergegeven else { // zorgt dat de 'id' geldig is if (is_numeric($_GET['id']) && $_GET['id'] > 0) { // verkrijg 'id' van URL $id = $_GET['id']; // verkrijg de records uit de database if($stmt = $mysqli->prepare("SELECT * FROM klanten WHERE id=?")) { $stmt->bind_param("i", $id); $stmt->execute(); $stmt->bind_result($id, $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud); $stmt->fetch(); // toon het formulier renderForm($klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud, NULL, $id); $stmt->close(); } // toon een error wanneer de query een error heeft else { echo "Error: could not prepare SQL statement"; } } // wanneer het 'id' ongeldig is word de gebruiker naar view.php doorgestuurd else { header("Location: view.php"); } } } /* NIEUW RECORD */ // wanneer geen 'id' is ingesteld volgt een nieuwe invoer else { // proces het formlier na submit if (isset($_POST['submit'])) { // verkrijg formulierdata $klantnummer = htmlentities($_POST['klantnummer'], ENT_QUOTES); $bedrijfsnaam = htmlentities($_POST['bedrijfsnaam'], ENT_QUOTES); $adres = htmlentities($_POST['adres'], ENT_QUOTES); $postcode = htmlentities($_POST['postcode'], ENT_QUOTES); $plaats = htmlentities($_POST['plaats'], ENT_QUOTES); $plaats = htmlentities($_POST['telefoon'], ENT_QUOTES); $londerhoud = htmlentities(strtotime($_POST['londerhoud']), ENT_QUOTES); $aantal = htmlentities($_POST['aantal'], ENT_QUOTES); $vonderhoud = htmlentities(strtotime($_POST['vonderhoud']), ENT_QUOTES); { // insert the new record into the database if ($stmt = $mysqli->prepare("INSERT klanten (klantnummer, bedrijfsnaam, adres, postcode, plaats, telefoon, londerhoud, aantal, vonderhoud) VALUES (?, ?, ?, ?, ?, ?, ?, ?)")) { $stmt->bind_param("sssssssss", $klantnummer, $bedrijfsnaam, $adres, $postcode, $plaats, $telefoon, $londerhoud, $aantal, $vonderhoud); $stmt->execute(); $stmt->close(); } // Toon een foutmelding indien nodig else { echo "ERROR: Could not prepare SQL statement."; } // stuur gebruiker door header("Location: view.php"); } } // wanneer geen formulier is ingediend word de database weergegeven else { renderForm(); } } // sluit mysqli verbinding $mysqli->close(); ?> Quote Link to comment Share on other sites More sharing options...
Barand Posted October 26, 2013 Share Posted October 26, 2013 (edited) Have you tried checking the value of $mysqli->error after executing the query? Edited October 26, 2013 by Barand Quote Link to comment Share on other sites More sharing options...
arjanvr Posted October 26, 2013 Author Share Posted October 26, 2013 How do i check that. Executions has no errors Quote Link to comment Share on other sites More sharing options...
Barand Posted October 26, 2013 Share Posted October 26, 2013 Try this to debug: if (!$stmt->execute() ) die($mysqli->error); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.