Ik ben bezig met een soort beheeromgeving, waarin de administratie binnengekomen aanmeldingen kan factureren. Dit kan via een Excel-bestand. De export werkt.
Nu heb ik een drop-down box neergezet die op waarde 'ja' gezet kan worden. Na klikken op "Gefactureerd" moet het script in iedere rij die zojuist geexporteerd is de waarde 'gefactureerd' op ja zetten.
Het script werkt, alleen de update niet. Wie weet wat ik verkeerd doe?
Gerjo
Edit: bij deze een fragment van het script. Heb alleen het gedeelte waarin de query wordt gemaakt i.c.m. de update in sql gepost. (Moet dit tussen tags?)
Die komma is weg. Thanks. Ik heb ook de regel 21 aangepast naar
$query = mysql_query($sql)or die(mysql__error());
Hij geeft in zijn geheel een lege pagina. Wat gaat verkeerd?
Edit: pagina werkt weer, had twee keer een } aan het einde van de HTML code met de betreffende form gezet. Eén vlak voor het begin gezet. Updaten werkt nog niet
/* Connectie met database maken */
require_once('db.inc.php');
/* Cookie */
if(!isset($_COOKIE['formulier']))
{
/* Kijken of er een formulier wordt gepost */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
/* Query uitvoeren */
$sql =
"
UPDATE
inschrijvingen
SET
gefactureerd = '".mysql_real_escape_string($_POST['gefactureerd'])."'
WHERE
aanmelding = '".mysql_real_escape_string('ja')."'
";
/* Resultaat van query */
$Result = mysql_query($sql);
/* Kijken of de query is gelukt */
if(!$Result)
{
echo 'Er is een fout opgetreden met het uitvoeren van de query.';
}
else
{
echo 'Succesvol geupdate.';
}
}
}
Hmm, zeg ark, bedankt voor het plaatsen van de kanttekeningen in je script. Het is wellicht zo slim als je in PHP laat zoeken naar een POST actie, dat je uberhaupt een form die actie laat doen, als je begrijpt wat ik bedoel.
[quote='gerjoris schreef op 14.07.2009 21:09']Hij geeft in zijn geheel een lege pagina.
Waarschijnlijk ergens een ( of { niet afgesloten.
Je script is lek => sql-injection.[/quote]
He? De lege pagina is opgelost, de } stond op de verkeerde plaats. Maar script is lek? Hoe bedoel je?
(Ben welgelteld twee weken aan het PHP'en...)
Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.
// en nog goede foutafhandeling, nu je toch aan het leren bent:
if(!$result = mysql_query($query)){
//query mmislukt, foutmelding
trigger_error(mysql_error());
}
else{
//query gelukt, rest code, ophalen gegevens bijvoorbeeld
}
?>