Probleem: editwar.php is een formulier stuurt gegevens naar editwar2.php.. hieronder zie je dat de database het update.
Oplossing: variabelen buiten quotes
<? mysql_query("UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid']) or die (mysql_error()); ?>
<?mysql_query("UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid']) or die(mysql_error());?>
<?php
// kijken of er een id is geset en of id een getal is
if(IsSet($_GET['editid']) && Is_Numeric($_GET['editid']))
{
// query aanmaken
// let op: WHERE pid=$_GET['editid'];
$query = "SELECT pid, datum, land, enemy, scorestatus, score, matchtype, competition, landcompetition FROM wars WHERE pid=".$_GET['editid'];
// kijken of hij uitgevoerd kan worden
if(!$res = mysql_query($query))
{
// nee, er is een error
echo "Kan de query niet uitvoeren!<br />";
echo mysql_error()."<br />".mysql_errno();
} else
{
// goed uitgevoerd
// while loop
while ($obj = mysql_fetch_object($res))
{
?>
Hier staat het EDIT-Form.
<?php
}
// while afsluiten
}
}
mysql_free_result($res);
?>
<?php
// kijken of er een id is geset en of id een getal is
edit: nu verstuur ik het formulier naar editwar2.php Alleen krijg ik deze error:
Parse error: parse error, unexpected T_VARIABLE in /home/sneldesign.com/www/phpshit/editwar2.php on line 47 Dit is lijn 47:
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die (mysql_error());
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die(mysql_error());
<body>
<?php
// kijken of er wel gesubmit is
if(isset($_POST['verzenden']))
{
// als het vak enemy leeg is
if(empty($enemy)) {
echo "Geen enemy ingevuld. <br>";
echo "<a href='warsadmin.php'>Klik hier</a> om terug te gaan."; }
else {
// als het vak score leeg is
if(empty($score)) {
echo "Geen score ingevuld.";
echo "<a href='warsadmin.php'>Klik hier</a> om terug te gaan. <br>"; }
else {
$datum = addslashes($_POST['datum']);
$datum = date("d-m-Y");
$land = addslashes($_POST['land']);
$enemy = addslashes($_POST['enemy']);
$scorestatus = addslashes($_POST['scorestatus']);
$score = addslashes($_POST['score']);
$matchtype = addslashes($_POST['matchtype']);
$competition = addslashes($_POST['competition']);
$landcompetition = addslashes($_POST['landcompetition']);
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die (mysql_error());
echo 'War succesvol toegevoegd.<br>';
echo 'Je wordt nu doorgestuurd naar de Admin pagina.';
header('refresh: 2; url=admin.php');
}
}
}
// else voor als er niet gesubmit is
else { }
?>
</body>
</html>
<?php
ob_end_flush();
?>
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die(mysql_error());
<?PHP // even voor highlight
// dan zie je de fout duidelijker
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die (mysql_error());
?>
<?PHP// even voor highlight
// dan zie je de fout duidelijker
mysql_query("UPDATE wars SET land='$land',enemy='$enemy',scorestatus='$scorestatus',score='$score',matchtype='$matchtype',competition='$competition',landcompetition='$landcompetition' WHERE pid="$_GET['editid']); or die(mysql_error());
?>
Als je een variabele erbij wil zetten en hem buiten quotes wilt halen, moet je de . (punt) erbij zetten.
<?PHP // even voor highlight
// dan zie je de fout duidelijker
mysql_query("UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid']) or die (mysql_error());
?>
<?PHP// even voor highlight
// dan zie je de fout duidelijker
mysql_query("UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid']) or die(mysql_error());
?>
(ook meteen even de rest van je variabelen buiten quotes gehaald)
Ik krijg nu dit:
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 '' at line 1
$sQuery = "UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid'];
echo $sQuery;
$sQuery="UPDATE wars SET land='".$land."',enemy='".$enemy."',scorestatus='".$scorestatus."',score='".$score."',matchtype='".$matchtype."',competition='".$competition."',landcompetition='".$landcompetition."' WHERE pid=".$_GET['editid'];
Het werkt nu ook niet hoor^^
Alleen nu word de query niet uitgevoerd, hij word alleen op het scherm gezet.
Dit is af en toe (nu bijvoorbeeld dus) makkelijk om een probleem op te lossen.
Dat "War succesvol geweizigd." is een bericht, en niet je ID van de war.
Zoals je ziet, is pid dus leeg, dus is $_GET['editid'] niet geset.
Ik gok erop dat je form action verkeerd staat.
Het zal nu staan op editwar.php.
Verander het eens in editwar.php?editid=$_GET['editid'].
@Ultimatum: Ik zeg niet dat het niet kan, maar het lijkt me onwaarschijnlijk.
Meestal geeft ie (bij mij dan) unexpected end, en niet iets met een $ erin...