Hoi
ik heb een script geschreven dat een project naam aan het employee profiel in msql toevoegt. Alleen zodra ik op submit druk doet hij het niet. Ik hoop dat iemand mij kan vertellen wat er mis is met dit script. Alvast bedankt gr Kostro

<?php
require("functions.php");
connectdb();
$query = "SELECT Projectname, ProjectDescription, ProjectBeginDate, ProjectEndDate FROM projects";
$result = mysql_query($query);
$query_data = mysql_fetch_array($result);
$projectnaam = $query_data["Projectname"];
$projectomschrijving = $query_data["ProjectDescription"];
$begind = $query_data["ProjectBeginDate"];
$eindd = $query_data["ProjectEndDate"];
?>
<blockquote>&nbsp;</blockquote>
<table width="200" border="1">
<tr>
<th scope="row">Projectnaam</th>
<td><?php Echo $projectnaam; ?></td>
</tr>
<tr>
<th scope="row">Project Omschrijving </th>
<td><?php echo $projectomschrijving;?></td>
</tr>
<tr>
<th scope="row">Project Begin Datum </th>
<td><?php echo $begind; ?></td>
</tr>
<tr>
<th scope="row">Project Eind Datum </th>
<td><?php echo $eindd; ?></td>
</tr>
</table>
<form method="POST" action="">
<input name="werknemer" type="text">
<input type="Submit" value="Submit " name="Submit">
</form>
<?PHP
if ($_POST['Submit'] == 'Submit')
{
mysql_query("update employees set projectn ='$projectnaam' WHERE EmployeeID = '$werknemer'");
}
?>
Deze regel:
<input type="Submit" value="Submit " name="Submit">

wijzigen in:
<input type="Submit" value="Submit" name="Submit">

Wellicht is die extra spatie bij "Submit " de boosdoener.
<form method="POST" action="">

Je hebt geen actie ingevuld.

Meer info over forms: Handleiding HTML
@Herjan,

als er geen action staat, word automatisch het bestand genomen waar de php code instaat.

@Ronald,

zet even [.code] voor je script en en [./code.] achter je script.



Als je error_reporting(E_ALL); boven je script zet, krijg je dan een error of notice?


<?PHP //hoofletters?
if ($_POST['Submit'] == 'Submit')
{
mysql_query("update employees set projectn ='$projectnaam' WHERE EmployeeID = '$werknemer'"); //hoort hier projectn niet projectEn te zijn? (met een 'e' ertussen
}
?>
Bedankt voor de reacties

@Burdy
Heeft het probleem helaas niet opgelost.

@PHP Newbie
Het hoort gewoon projectn te zijn :) Nadat ik error_reporting(E_ALL); aan het script had toegevoegt kreeg ik de error dat $werknemer een unknown variable is. Door de regel <input name="werknemer"> in het <form> gedeelte van het script zou php de variable $werknemer toch moeten kennen?
@ Ronald

je kan zolang een lege var maken.

$werknemer = '';

dan is de var wel leeg, maar hij kent hem wel.
@Erik
Als ik $werknemer=''; toevoeg aan het script gaat de error weg maar,
<?PHP 
if ($_POST['Submit'] == 'Submit')
{
mysql_query("update employees set projectn ='$projectnaam' WHERE EmployeeID = '$werknemer'");
}
?> 
dit stukje code werkt niet. Al run ik het script voer 1 in het formulier en druk op submit word de database niet geupdate maar, zodra ik $werknemer in dat stukje code vervang door bijvoorbeeld 1 en ik run het script update hij de database wel.
if ($_POST['Submit'] == 'Submit')

Vervangen door:

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

werkt ook niet?
@Arjan
Werkt helaas niet :(


<?PHP 
if ($_POST['Submit'] == 'Submit')
{
mysql_query("update employees set projectn ='$projectnaam' WHERE EmployeeID = '$werknemer'");
}
?> 

Wat me net opviel als ik hier $werknemer vervang door 1. Ik run het script, druk niet op submit en toch update hij de database. De hele If statement lijkt niet te werken.
Ik snap het allemaal niet meer :)
Het script werkt !
heb de regel $werknemer= $_POST['werknemer'] toegevoegt. Hij doet het nu perfect

<?php
$werknemer= $_POST['werknemer'];
if ($_POST['Submit'] == 'Submit')
{
mysql_query("update employees set projectn ='$projectnaam' WHERE EmployeeID = '$werknemer'");
}
?>


Bedankt voor alle hulp en suggesties :)

Reageren