Na veel lezen, zoeken, knippen en plakken heb ik "eindelijk" wat ik wil hebben.
Grotendeels werkt het.
Maar ik krijg de volgende mededelingen:
Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in C:\xampp\htdocs\veranderv6.php on line 34
en
Notice: Undefined variable: update in C:\xampp\htdocs\veranderv6.php on line 61
...
Updaten lukt dus (nog) niet.

Wat moet ik waar (nog) aanpassen?

<?php
	$hostname = "localhost";
	$dbname = "tour";
	$username = "**knip**";
	$password = "**knip**";
	
	$conn = new MySQLi($hostname, $username, $password, $dbname) or die('Can not connect to database')		
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Updaten van data</title>
</head>
<body>
<?php
	if(isset($_POST['Submit'])){  
	
	
	$tijdverschil2 = $_POST['verschil2'];

	$afbwaarde = $_POST['afbeeldingwrd'];
	
	$tijdverschil1 = $_POST['verschil1'];
	
		
	$update = "UPDATE radio SET Tijd2='$tijdverschil2', Plaatje='$afbwaarde', Tijd1='$tijdverschil1' WHERE radio_id=0";
	$conn->query($update) or die("Kan niet updaten");//update or error
	}
?>
<?php
$sql = "SELECT * FROM radio WHERE radio_id=0";
$result = $conn->query($sql) or die(mysql_error());
$query=getenv(QUERY_STRING);
parse_str($query);
?>
<form action="" method="post">
<?php
	
	
	while ($row = $result->fetch_assoc()) {?>
    
<table border="0" cellspacing="10">
<tr>
<td>Afbeeldingnummer:</td> <td><input type="text" name="afbeeldingwrd" value="<?php echo $row['afbwaarde']; ?>"></td>
</tr>
<tr>
<td>Tijdverschil 1:</td> <td><input type="text" name="verschil1" value="<?php echo $row['tijdverschil1']; ?>"></td>
</tr>
<tr>
<td>Tijdverschil 2:</td> <td><input type="text" name="verschil2" value="<?php echo $row['tijdverschil2']; ?>"></td>
</tr>
<tr>
<td><INPUT TYPE="Submit" VALUE="Updaten !" NAME="Submit"></td>
</tr>
</table>
<?php	}
	?>
</form>
<?php
	if($update){
	
	echo "<b>Update geslaagd!</b>";
	
	
		
}  
?>
</body>
</html>

De eerste melding spreekt voor zich, je moet QUERY_STRING tussen single-quotes plaatsen.
Over je tweede melding, komt het erop neer dat $update niet bestaat. Maar hier gaat nog meer mis, want je kijkt nu naar de querystring die je aan je query doorgeeft. Dus een controle met $result is wel zinniger.
Heb de eerste melding tussen " " gezet.
Gaat goed.
Line 60 tot 68 eruit gehaald.
Nu krijg ik de mededeling "Kan niet updaten"....
Waardes worden niet overgenomen.
:-(
Foutafhandeling inbouwen met $mysqli->error.
Verder is die() ook niet echt de juiste manier van foutrafhandeling. Je script hoort niet dood te gaan als er iets fout gaat. Het dient gewoon netjes afgesloten te worden.
Kan je me aangeven wat ik waar dan moet typen?
Met Php ben ik nog een echte leek.
please?
$conn->query($update) or die("Fout opgetreden: ".$conn->error);
Ik voel nu blond...waar moet ik die regel plaatsen?
en tweede vraag...
waarom worden de waardes niet ge-update?
Regel 17:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
?>


Regel 27 en 28:

<?php
$update = "UPDATE radio SET Tijd2='".$tijdverschil2."', Plaatje='".$afbwaarde."', Tijd1='".$tijdverschil1."' WHERE radio_id = 0";
$conn->query($update) or die("Fout opgetreden: ".$conn->error); 
?>

Regel 33

<?php
$conn->query($update) or die("Fout opgetreden: ".$conn->error); 
?>

regel 34 en 35

<?php
//$query=getenv(QUERY_STRING);
//parse_str($query);
?>


Volgens mij hebben we dan alles gehad denk..
Krijg nu deze melding:

Fout opgetreden: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00', Plaatje='1', Tijd1='2'00' WHERE radio_id = 0' at line 1

In mijn database heten mijn velden niet plaatje,tijd1 en tijd2, maar afbwaarde, tijdverschil1 en tijdverschil2.
Wellicht dat ik in regel 27 daar een fout heb gemaakt.
Ik wist niet hoe ik dat moe(s)t invullen.



<?php
	$hostname = "localhost";
	$dbname = "tour";
	$username = "prince";
	$password = "tafkap";
	
	$conn = new MySQLi($hostname, $username, $password, $dbname) or die('Can not connect to database')		
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Updaten van data</title>
</head>
<body>
<?php
	if($_SERVER['REQUEST_METHOD'] == 'POST') {  
	
	
	$tijdverschil2 = $_POST['verschil2'];

	$afbwaarde = $_POST['afbeeldingwrd'];
	
	$tijdverschil1 = $_POST['verschil1'];
	
		
	$update = "UPDATE radio SET Tijd2='".$tijdverschil2."', Plaatje='".$afbwaarde."', Tijd1='".$tijdverschil1."' WHERE radio_id = 0";
	$conn->query($update) or die("Fout opgetreden: ".$conn->error);
	}
?>
<?php
$sql = "SELECT * FROM radio WHERE radio_id=0";
$result = $conn->query($sql) or die(mysql_error());
$query=getenv("QUERY_STRING");
parse_str($query);
?>
<form action="" method="post">
<?php
	
	
	while ($row = $result->fetch_assoc()) {?>
    
<table border="0" cellspacing="10">
<tr>
<td>Afbeeldingnummer:</td> <td><input type="text" name="afbeeldingwrd" value="<?php echo $row['afbwaarde']; ?>"></td>
</tr>
<tr>
<td>Tijdverschil 1:</td> <td><input type="text" name="verschil1" value="<?php echo $row['tijdverschil1']; ?>"></td>
</tr>
<tr>
<td>Tijdverschil 2:</td> <td><input type="text" name="verschil2" value="<?php echo $row['tijdverschil2']; ?>"></td>
</tr>
<tr>
<td><INPUT TYPE="Submit" VALUE="Updaten !" NAME="Submit"></td>
</tr>
</table>
<?php	}
	?>
</form>
</body>
</html>
Na lijn 27 even tijdelijk dit plaatsen:

echo "SQL: ".$update;


En hoe ziet je database structuur eruit qua tabellen en velden?
En dan ga je ontdekken dat je niets aan escaping doet:
<?php
$update = "UPDATE radio SET Tijd2='".$conn->escape_string($tijdverschil2)."', Plaatje='".$conn->escape_string($afbwaarde)."', Tijd1='".$conn->escape_string($tijdverschil1)."' WHERE radio_id = 0";
?>

Reageren