Probleem met php(er klopt iets niet

Status
Niet open voor verdere reacties.

Barty10060

Gebruiker
Lid geworden
15 jun 2013
Berichten
47
bij deze heb ik een probleem met php wie kan me helpen:

PHP:
<?php
	$db_host = "localhost"; // Dit is dus de server waarmee we willen verbinden, onze eigen computer.
	$db_user = "root";		// Dit is de gebruiker, als je later dit echt wilt gebruiken maak liever een andere gebruiker aan voor die database, dit is de admin gebruiker.
	$db_pass = "xxx";  // Het wachtwoord van de gebruiker
	$db_name = "meubels";	// De naam van de database waar mee we willen werken.

	$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // Om dat te doen moeten we eerst een verbinding aanmaken met de database.
	
	// Zodra we verbinding hebben gemaakt willen we kijken of dit ook gelukt is en als dat niet gelukt is willen we een error weergeven met wat er fout is.
	
	if($mysqli->connect_errno) { // als error doe:
		echo $mysqli->connect_errno.": Couldn't connect to the database!"; //schreeuw de error.
	}
	
	$sql = "SELECT * FROM meubels";
	$result = $mysqli->query($sql);
?>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>Update</title>
	</head>
	<body>
		<form method="post">
			<select name="selectToEdit">
				<?php
					while(($row = $result->fetch_assoc())) {
						echo '<option value="'.$row['name'].'">'.$row['name'].'</option>';
					}
				?>
			</select>
			<br /><br />
			<input name="submit" type="submit" value="Bewerk" />
		</form>
		<br /><br />
		
		<?php

			if(isset($_POST['submit'])) {
				echo '<form method="post">';
					echo '<table border="1">';
						echo '<tr>';
							echo '<th>Naam:</th>';
							echo '<th>Beschrijving:</th>';
							echo '<th>Prijs:</th>';
							echo '<th>Afbeeldingslocatie</th>';
						echo '</tr>';
						$sql = "SELECT name, description, price, image FROM meubels WHERE name=?";
						$stmt = $mysqli->prepare($sql);
						$stmt->bind_param('s', $_POST['selectToEdit']);
						$stmt->execute();
						$stmt->bind_result($name, $description, $price, $image);
						if($stmt->fetch()) {
							echo "<tr>";
								echo '<td><input name="name" type="text" value="'.$name.'" /></td>';
								echo '<td><input name="description" type="text" value="'.$description.'" /></td>';
								echo '<td><input name="price" type="text" value="'.$price.'" /></td>';
								echo '<td><input name="imageLocation" type="text" value="'.$image.'" /></td>';
							echo "</tr>";
						}				
					echo '</table>';
					echo '<br /><input type="submit" name="submit2" value="Opslaan" />';
				echo '</form>';
				$selectToEdit = $_POST['selectToEdit'];
				if(isset($_POST['submit2'])) {
					$sql = "UPDATE meubels SET name=?, description=?, price=?, image=? WHERE name=?";
					$stmt = $mysqli->prepare($sql);
					$stmt->bind_param('sssss', $_POST['name'], $_POST['description'], $_POST['price'], $_POST['imageLocation'], $selectToEdit);
					$stmt->execute();
				}		
			}
		
		?>
	</body>
</html>
 
Je hebt een probleem?
Wat dan? Moeten wij gaat gokken wat je probleem is?
 
Het probleem is dat de wijzigingen niet worden weggeschreven naar de database.
 
Laatst bewerkt door een moderator:
doe de query eens testen in phpmyadmin en doe alle waardes eens bekijken dmv een echo om te kijken of ze wel werken
 
je moet een database hebben. stel je maakt een database met de naam meubels gebruiker root en w8woord xxx en de host localhost :)
 
Je code die de database bijwerkt staat binnen de if-structuur die controleert of $_POST['submit'] 'geset' is. Die code wordt dus alleen uitgevoerd als zowel $_POST['submit'] als $_POST['submit2'] 'geset' zijn en dat kan niet. Alleen de submit-knop waar op geklikt is wordt meegestuurd. Je zal die code dus uit die if-structuur moeten halen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan