Ik probeer voor mijn stage al een tijdje een programma in elkaar te zetten en ben hier nu bijna mee klaar. helaas gaat dit op het moment niet zeer veel verder vanwege iets waarop ik gestuit ben. Mijn probleem is dat wanneer ik op pas aan klik op het formulier hij het niet in de database aanpast. als ik de sql code zelf in phpmyadmin run dan werkt hij wel maar niet wanneer ik hem in mijn php code probeer. graag zou ik hierbij wat hulp krijgen.

Hierbij mijn code:

<?php
if(isset($_POST['Pasaan']))	
{
 $Voor = $_POST['Voor0900'];
 $Na = $_POST['Na0900'];
 $Datum = $_POST['Datum'];
 $Datum = DateTime::createFromFormat("d/m/Y" , $Datum);
 $DatumStr = $Datum->format('Y-m-d');
							
 $sql = "UPDATE firsthousing SET `Voor0900` = '$Voor', 
				 `Na0900` = '$Na' 
				  where Datum = '$DatumStr'";
			          echo "Deadddddd.";
				  if ($db->query($sql) === TRUE) {
				    echo "Record updated successfully";
				  } else {
				    echo "Error updating record: " . $db->error;
				  }
							
							
				}
?>

Dan is het erg vreemd dat je formulier waardes niet worden meegegeven. Of kies je soms Null (NULL)?
Ik denk dat dit komt omdat ik hier verder nog niets heb ingevuld. maar als ik op pas aan klik dan springt hij terug naar de main pagina. Ik heb een bericht gestuurd met een link voor de bestanden.
Ben weer terug...

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);


if($_SERVER['REQUEST_METHOD'] == 'POST')
{

print_r($_POST);

$Voor = $_POST['Voor0900'];
$Na = $_POST['Na0900'];
$Datum = $_POST['Datum'];
var_dump($Datum);
$Datum = DateTime::createFromFormat("d-m-Y" , $Datum);
$DatumStr = $Datum->format('Y-m-d');

$sql = "UPDATE firsthousing SET Voor0900 = '$Voor',
Na0900 = '$Na'
where Datum = '$DatumStr'";

echo $sql;
}
?>
Dit werkt hier...
Als je niks heb ingevuld, dan stuurt hij ook niks mee. Zeer logisch ;-)
het feit dat je terugspring naar de begin-pagina zal wel te maken hebben dat je dit formulier includeert in je beginpagina? Dan moet je het hele relatieve URL-pad opgeven in de action van je form-tag.
haha het probleem is dat mijn welcome.php pagina een en al formulier is. je gaat eerst een formulier door om naar het formulier voor aanpassen te komen. :S

Hmm.. ik heb misschien een idee.. als ik nu alle aanpassen delen van de code op een aparte pagina zet.. dan is het zoiezo al makkelijker te lezen xD en komt er geen conflict met het andere formulier
Dan zet je in je formulier als extra regel: <input type="hidden" name="updateFormulier" value="update"/>

En maak je van if($_SERVER['REQUEST_METHOD'] == 'POST')
dit: if($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['updateFormulier']))
Heb je een voorbeeld die we kunnen zien?
Hoe bedoel je een voorbeeld? zoals een live versie van het programma?

Dayne Tersluijsen op 12/09/2017 15:52:14

Hoe bedoel je een voorbeeld? zoals een live versie van het programma?



Dan kunnen we zien wat er gebeurd, mocht de oplossing van SanThe niet werken.
Een statisch plaatje zegt namelijk niks over wat er op de achtergrond gebeurd.
Formulier:

<div id="Aanpassen">
	<form action="" Method="POST">
		Datum DD-MM-YYYY &nbsp; <input type="text" name="Datum"><br>
		Voor 09:00 &nbsp; <select name="Voor0900">
			<option value="Arnold Lammerts">Arnold Lammerts</option>
			<option value="Petra van Son">Petra van Son</option>
			<option value="Roy Dix">Roy Dix</option>
			<option value="Joost Cuppen">Joost Cuppen</option>
			<option value="Paul Bloemendaal">Paul Bloemendaal</option>
			<option value="Bianca Koelemeijer">Bianca Koelemeijer</option>
			<option value="Jan Kramer">Jan Kramer</option>
			<option value="Vanessa Touw">Vanessa Touw</option>
			<option value="NULL">Null</option>
		</select><br>
		Na 09:00 &nbsp; <select name="Na0900">
			<option value="Arnold Lammerts">Arnold Lammerts</option>
			<option value="Petra van Son">Petra van Son</option>
			<option value="Roy Dix">Roy Dix</option>
			<option value="Joost Cuppen">Joost Cuppen</option>
			<option value="Paul Bloemendaal">Paul Bloemendaal</option>
			<option value="Bianca Koelemeijer">Bianca Koelemeijer</option>
			<option value="Jan Kramer">Jan Kramer</option>
			<option value="Vanessa Touw">Vanessa Touw</option>
			<option value="NULL">Null</option>
		</select><br>
		<input type="hidden" name="updateFormulier" value="update"/>
		<input type="submit" name="Pasaan" Value="Pas aan"></submit>
	</form>
</div> 


PHP:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['updateFormulier']))
{
$Voor = $_POST['Voor0900'];
$Na = $_POST['Na0900'];
$Datum = $_POST['Datum'];
$Datum = DateTime::createFromFormat("d-m-Y" , $Datum);
$DatumStr = $Datum->format('Y-m-d');

$sql = "UPDATE firsthousing SET Voor0900 = '$Voor',
Na0900 = '$Na'
WHERE Datum = '$DatumStr'";

if ($db->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $db->error;
}
}
?>

Reageren