Versio

PHP script probleem

Overzicht Reageren

Roel Veld

Roel Veld

23/11/2011 22:37:46
Quote Anchor link
Hallo iedereen,

Ik heb een php script, dat gemaakt is voor PHP4.2
Nu wil ik dit script gebruiken op een server met PHP5.3.8
Als het script goed zou zijn, dan zou ik niet zoveel problemen moeten hebben, maar het script is niet zo goed.

Ik heb problemen met dit stukje code:

if($action=="hiscore")

Ik krijg de fout melding in mijn logs:
PHP Notice: Undefined variable: action in C:\\Program Files\\blabla on line 180
Line 180 is dat stukje code.

Ik heb op de server al Register_global op on gezet. mijn phpinfo zegt ook dat het aan staat.

Weet iemand misschien iets precieser wat mijn probleem is? Ik neem aan dat de syntax niet klopt, en hoop dat er een simpele aanpassing voor is.

Alvast bedankt
Roel
 
PHP hulp

PHP hulp

25/05/2012 10:45:33
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Ozzie PHP

Ozzie PHP

23/11/2011 22:39:58
Quote Anchor link
Toon eens wat meer code. Een stukje ervoor en een stukje erna.
 
Erwin H

Erwin H

23/11/2011 22:40:22
Quote Anchor link
"Undefined variable: action"

Dat zegt toch alles? $action is blijkbaar niet eerder gedeclareerd en kan daarom niet geevalueerd worden.
 
Obelix en Idefix

Obelix en Idefix

23/11/2011 22:44:33
Quote Anchor link
Roel Veld op 23/11/2011 22:37:46:
Weet iemand misschien iets precieser wat mijn probleem is?

Alleen jijzelf kunt precies het probleem aangeven. Wij kunnen proberen je te helpen bij het vinden van een oplossing...
De informatie die je geeft is daarvoor wel heel erg beperkt, zoals bovenstaande reacties ook aangeven. En Erwin H heeft helemaal gelijk: hoe duidelijk kan je foutmelding zijn ;-)

Heb echter de laatste paar dagen diverse keren zo'n probleem voorbij zien komen.
Het bleek toen telkens te gaan om het verwerken van een formulier. Men vroeg daarbij niet op de juiste wijze de variabelen op. Dit moet, in dit geval, met $_GET['action'] of $_POST['action'] (net hoe het formulier wordt verzonden).
Gewijzigd op 23/11/2011 22:47:18 door Obelix en Idefix
 
Roel Veld

Roel Veld

23/11/2011 22:47:06
Quote Anchor link
Het is een stukje code uit een open-source browser game:

if($action=="hiscore") {
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
echo "<html><head><title>dopewars</title><link rel=\"stylesheet\" href=\"default.css\" type=\"text/css\"></head><body><h3>dopewars - high scores</h3>";

echo "<p><b>active dealers</b></p>";
$qry = "select name, score from dopewars order by score desc";
$results = $db->qry($qry);
while (list($key, $val) = each ($results)) {
echo $key+1;
echo " - " . htmlentities($val["name"]) . " (\$" . $val["score"] . ")<br>";
}

echo "<p><b>legendary dead dealers - all time high scores</b></p><p>(top 50)</p>";
$qry = "select name, score from dopescores order by score desc limit 50";
$results = $db->qry($qry);
while (list($key, $val) = each ($results)) {
echo $key+1;
echo " - " . htmlentities($val["name"]) . " (\$" . $val["score"] . ")<br>";
}

echo "<p><a href=\"$PHP_SELF\">back</a></p>";
echo "</body></html>";
exit;

Ik krijg door de eerste line dus die 500 melding. Het is ook die variable, maar ik weet dus niet hoe ik het kan verhelpen.
 
Ozzie PHP

Ozzie PHP

23/11/2011 22:48:54
Quote Anchor link
Waar wordt je $action geset?

Ergens moet staan

$action = ....
 
Obelix en Idefix

Obelix en Idefix

23/11/2011 22:51:23
Quote Anchor link
Code aub tussen code-tags.
Waar komt $action vandaan (volgens jou)?
Gebruik in php ' en in html " --> scheelt je een boel escapen en maakt het overzichtelijker en de kans op foute
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<p><a href=\"$PHP_SELF\">back</a></p>";

Dit gaat volgens mij niet werken. $PHP_SELF ???
Vermoedelijk bedoel je $_SERVER['PHP_SELF']; en dat is onveilig.

Edit: Ozzie was net wat sneller (en korter).
Gewijzigd op 23/11/2011 22:52:11 door Obelix en Idefix
 



Overzicht Reageren