Kan iemand mij vertellen waarom dit script 6 maanden prima heeft gewerkt en nu niet meer? <?php

require "aspnet_client/header.php";
$admin = true;
require "aspnet_client/authenticatie.php";

$tijd = date("Y-m-d, H:i:s");
if ($_POST["knop"] && $plantnaam="") {
echo "record wegschrijven";

$sql = "INSERT INTO `aaddejong`.`artikel` (`Plantnaam`, `Plantmaat`, `aantalperlaag`, `aantallaagperkar`, `prijsperstuk`, `leverancier`, `inkoopprijs`, `status`, `Afbeelding`, `Potmaat`, `Omschrijving`, `fotoetiket`, `Artikel_id`, `Datumingevoerd`, `eenheidprocent`, `laagkar`) VALUES ('$plantnaam', '$plantmaat', '$aantalperlaag', '$aantallaagperkar', '$prijsperstuk', '$leverancier', '$inkoopprijs', '$afbeelding', '$potmaat', '$omschrijving', '$fotoetiket', '$tijd', '$eenheidprocent', '$laagkar')";

$theresult = mysql_query($sql);// voer SQL code uit

if ($theresult) {
echo "Het artikel is toegevoegd.";
} else {
echo "Helaas, de artikel kon niet worden toegevoegd aan de database. Neem contact op met de webmaster!"; // wordt de query goed uitgevoerd?
}

} else {

?>
<p><div class="big">Artikel toevoegen</div><br>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
Welk artikel wilt u toevoegen?
<table width="51%" border="1">
<tr>
<td width="22%">Aantal lagen per kar:</td>
<td width="78%" bordercolor="#000066"><input type="text" name="aantallaagperkar" /></td>
</tr>
<tr>
<td>Aantal per laag:</td>
<td bordercolor="#000066"><input type="text" name="aantalperlaag" /></td>
</tr>
<tr>
<td>Plantnaam:</td>
<td bordercolor="#000066"><input type="text" name="plantnaam" size="70" /></td>
</tr>
<tr>
<td height="27">Hoogte:</td>
<td bordercolor="#000066"><input type="text" name="plantmaat" />
</td>
</tr>
<tr>
<td>Pot: </td>
<td bordercolor="#000066"><input type="text" name="potmaat" /></td>
</tr>
<tr>
<td>Omschrijving:</td>
<td bordercolor="#000066"><input type="text" name="omschrijving" size="70" /></td>
</tr>
<tr>
<td>Prijs per stuk: </td>
<td bordercolor="#000066"><input type="text" name="prijsperstuk" /></td>
</tr>
<tr>
<td>Foto-etiket: </td>
<td bordercolor="#000066"><input type="text" name="fotoetiket" /></td>
</tr>
<tr>
<td>Afbeelding:</td>
<td bordercolor="#000066"><input type="text" name="afbeelding" /></td>
</tr>
<tr>
<td>Leverancier:</td>
<td bordercolor="#000066"><input type="text" name="leverancier" /></td>
</tr>
<tr>
<td>Inkoopprijs:</td>
<td bordercolor="#000066"><input type="text" name="inkoopprijs" /></td>
</tr>
<tr>
<td>Eenheidprocent:</td>
<td bordercolor="#000066"><input type="text" name="eenheidprocent" /></td>
</tr>
<tr>
<td>laag of kar:</td>
<td bordercolor="#000066"><input type="text" name="laagkar" /></td>
</tr></table>
</table>
<br>






<input type="submit" name="knop" value="toevoegen">
</form>

<?php

}

require "footer.php";

?>
Wat doet er precies niet meer? heb je er mischien iets bij gezet? iets weg gehaald?

en zet er [ code ] [ /code] tags om heen.
Stefan schreef op 24.08.2009 10:43
[..] en zet er [ignore]
[/ignore] tags om heen.
En zet error reporting eens aan.
Het script wil niet meer in de database schrijven. hebt nu error reporting toegevoegd. maar geeft geen error aan.
if ($_POST["knop"] && $plantnaam="")

dus je zet plantnaam naar Niks?
hij moet hier controleren als hier de knop "toevoegen"is ingedrukt en dat de plantnaam is ingevoerd
Al die $vars zullen waarschijnlijk leeg zijn. Zie superglobals.

Edit:
Alex schreef op 24.08.2009 11:22
hij moet hier controleren als hier de knop "toevoegen"is ingedrukt en dat de plantnaam is ingevoerd

$var = '...' // is een toekenning
$var == '...' // is een vergelijking
Alex schreef op 24.08.2009 11:22
hij moet hier controleren als hier de knop "toevoegen"is ingedrukt en dat de plantnaam is ingevoerd

if ($_POST["knop"] && $plantnaam="")

word dan

if (isset($_POST["knop"]) && $plantnaam!="")

en $plantnaam word ook nergens in je script gezet.

Probeer dit eens:


<?php

require "aspnet_client/header.php";
$admin = true;
require "aspnet_client/authenticatie.php";

$tijd = date("Y-m-d, H:i:s");
if (isset($_POST["knop"]) && $_POST['plantnaam']!="") {
echo "record wegschrijven";

    $sql = "INSERT INTO `aaddejong`.`artikel` (`Plantnaam`, `Plantmaat`, `aantalperlaag`, `aantallaagperkar`, `prijsperstuk`, `leverancier`, `inkoopprijs`, `status`, `Afbeelding`, `Potmaat`, `Omschrijving`, `fotoetiket`, `Artikel_id`, `Datumingevoerd`, `eenheidprocent`, `laagkar`)  VALUES ('$plantnaam', '$plantmaat', '$aantalperlaag', '$aantallaagperkar', '$prijsperstuk', '$leverancier', '$inkoopprijs',  '$afbeelding', '$potmaat', '$omschrijving', '$fotoetiket', '$tijd', '$eenheidprocent', '$laagkar')";
    
    $theresult = mysql_query($sql);// voer SQL code uit

        if ($theresult) {
    echo "Het artikel is toegevoegd.";
    } else {
        echo "Helaas, de artikel kon niet worden toegevoegd aan de database. Neem contact op met de webmaster!"; // wordt de query goed uitgevoerd?
    }

} else {
?> 
<p><div class="big">Artikel toevoegen</div><br>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
Welk artikel wilt u toevoegen?
<table width="51%" border="1">
<tr>
<td width="22%">Aantal lagen per kar:</td>
<td width="78%" bordercolor="#000066"><input type="text" name="aantallaagperkar" /></td>
</tr>
<tr>
<td>Aantal per laag:</td>
<td bordercolor="#000066"><input type="text" name="aantalperlaag" /></td>
</tr>
<tr>
<td>Plantnaam:</td>
<td bordercolor="#000066"><input type="text" name="plantnaam" size="70" /></td>
</tr>
<tr>
<td height="27">Hoogte:</td>
<td bordercolor="#000066"><input type="text" name="plantmaat" />
</td>
</tr>
<tr>
<td>Pot: </td>
<td bordercolor="#000066"><input type="text" name="potmaat" /></td>
</tr>
<tr>
<td>Omschrijving:</td>
<td bordercolor="#000066"><input type="text" name="omschrijving" size="70" /></td>
</tr>
<tr>
<td>Prijs per stuk: </td>
<td bordercolor="#000066"><input type="text" name="prijsperstuk" /></td>
</tr>
<tr>
<td>Foto-etiket: </td>
<td bordercolor="#000066"><input type="text" name="fotoetiket" /></td>
</tr>
<tr>
<td>Afbeelding:</td>
<td bordercolor="#000066"><input type="text" name="afbeelding" /></td>
</tr>
<tr>
<td>Leverancier:</td>
<td bordercolor="#000066"><input type="text" name="leverancier" /></td>
</tr>
<tr>
<td>Inkoopprijs:</td>
<td bordercolor="#000066"><input type="text" name="inkoopprijs" /></td>
</tr>
<tr>
<td>Eenheidprocent:</td>
<td bordercolor="#000066"><input type="text" name="eenheidprocent" /></td>
</tr>
<tr>
<td>laag of kar:</td>
<td bordercolor="#000066"><input type="text" name="laagkar" /></td>
</tr></table>
</table>
<br>
<input type="submit" name="knop" value="toevoegen">
</form>
<?php 

  }

require "footer.php";

?> 
En als ik nou niet op je submit knop druk maar op enter druk, dan word het ook niet opgeslagen. Los dit op met de $_SERVER['REQUEST_METHOD']
Gewoon met
if($_SERVER['REQUEST_METHOD'] == 'POST'] && $plantnaam!="")

Reageren