globals og safety

Tags:    php

<< < 12 > >>
Hej

Jeg har problemer med dette script da mit

webhotel har registered globals= off og safety mode=on.

Hvad er der galt med det ?

Den vil hverken stemme eller vise resultaterne.....

ERROR:

Parse error: parse error, expecting `')'' in /var/www/epoxy/web2/icebdk/docs/vote/vote.php on line 12

LINK: http://m.iceb.dk/vote/vote.php
SCRIPT:

<?php
function head() {
include('config.php');
echo "<center><table width=\\"200\\" border=\\"0\\" cellpadding=\\"1\\" cellspacing=\\"1\\">
<tr><td bgcolor=\\"$tableborder\\">
<table width=\\"198\\" border=\\"0\\" cellpadding=\\"0\\" cellspacing=\\"\\" align=\\"center\\">
<tr><td bgcolor=\\"$bgcolor\\">";
}
function foot () {
echo "</td></tr></table></td></tr></table>";
}
function record($_SERVER['REMOTE_ADDR']) {
include('config.php');
$fp=fopen("$ip_file", "a+");
fputs ($fp,$_SERVER['REMOTE_ADDR'].[".time()."\\n");
fclose($fp);
}
function check($REMOTE_ADDR) {
include('config.php');
global $valid;
$ip=$_SERVER['REMOTE_ADDR'];
$data=file("$ip_file");
$now=time();
foreach ($data as $record) {
$subdata=explode("][",$record);
if ($now < ($subdata[1]+1*$timeout)) {
if ($ip == $subdata[0]) {
$valid=0;
break;
}}}}
//##################### Save data ##############################
function save($answer){
global $answer;
include('config.php');
$data=file($datafile);
$subdata=explode("][",$data[$answer]);
$subdata[2]+=1;
$data[$answer]=implode("][", $subdata);
$data[$answer]=$data[$answer]."\\n";
$fp=fopen($datafile,"w+");
$a=0;
do{
fputs($fp,$data[$a]);
$a++;
}while($a<count($data));
fclose($fp);
}
//########################## Show Form ############################
function form($PHP_SELF){
include('config.php');
head();
echo "<font size=\\"$fontsize\\" face=\\"$font\\" color=\\"$textcolor\\"><form method=\\"post\\" action=\\"$PHP_SELF\\"><p align=\\"center\\">";
$data=file($datafile);
$question=$data[0];
$nb_options=count($data)-1;
echo "<b>$question</b></p>";
for($nb=1;$nb <= $nb_options; $nb++){
$option=explode("][","$data[$nb]");
echo "<input type=\\"radio\\" name=\\"answer\\" value=\\"$nb\\"> ";
echo "$option[0]<br>";
}
echo "<input type=\\"hidden\\" name=\\"save\\" value=\\"yes\\">";
echo "<p align=\\"center\\"><input type=\\"submit\\" name=\\"Submit\\" value=\\"Send\\"></form></font>";
echo "<font size=\\"$fontsize\\" face=\\"$font\\" color=\\"$textcolor\\"><a href=\\""; echo $PHP_SELF; echo "?action=results\\">Vis mig resultaterne.</font></p>";



foot();
}
//################## Function to show results ########################
function results(){
include('config.php');
head();
$data=file($datafile);
$nb_answers=count($data);
$votes=0;
$a=1;
do{
$subdata=explode("][",$data[$a]);
$votes += $subdata[2];
$a++;
}while($a < $nb_answers);
$a=1;
$b="answerv";
$v=100/$votes;
echo "<p align=\\"center\\"><font size=\\"$fontsize\\" face=\\"$font\\" color=\\"$textcolor\\"><b>$data[0] ($votes Stemmer.)</b><br><br>";
do{
$subdata=explode("][",$data[$a]);
$av = $subdata[2] * $v;
echo "<font size=\\"$fontsize\\" face=\\"$font\\" color=\\"$textcolor\\">$subdata[0] -"; printf(" %01.1f", $av); echo"%<br>";
$p2v = 100-$av;
echo "<img src=\\"$subdata[1]\\" width=\\"$av\\" height=\\"10\\"><img src=\\"$image\\" width=\\"$p2v\\" height=\\"10\\"><br>";
$a++;
} while ($a < $nb_answers);
echo "<br>";

echo "<br><center><a href=\\"javascript:history.go(-1)\\">Gå Tilbage.</a><br>\\n";

foot();
}
//###################### Engine ####################################
check($REMOTE_ADDR);
if ($valid=="0"){ results();}
elseif ($action=="results") { results(); }
elseif ($save=="yes" && $valid!="0") { save($Answer); record($REMOTE_ADDR); results();}
elseif ($action=="save" && !empty($valid)) { results(); }
elseif ($action!="save" && $valid!="0"){ form($PHP_SELF); }
?>



13 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Prøv det her:

Fold kodeboks ind/udKode 




/AC





Ok så men hvad skal jeg ændre i min kode??

Hvilke linier skal ændres til fra hvad til hvad osv ??



Denne linje ser mærkelig ud:

fputs ($fp,$_SERVER['REMOTE_ADDR'].[".time()."\\n");

der er 3 * "

Desuden kan det være meget svært for andre at læse din kode, hvis du ikke bruger $_GET og $_POST, da disse fortæller en hel del om variablerne.


Dette er en del af en url:
index.php?mig=min&dig=din

du vil kunne få de to variabler ved at bruge:

echo $_GET["mig"]; // vil udskrive "min"
echo $_GET["dig"]; // vil udskrive "din"


en form:

<form action="index.php" method="post">
<input name="min" value="din">
</form>
du kan få indholdet af formen med $_POST:

echo $_POST["min"]; //udskriver "din"



Prøv det her:

Fold kodeboks ind/udKode 




/AC



Nej det virker ikke stadig samme fejl ...

Parse error: parse error, expecting `')'' in /var/www/epoxy/web2/icebdk/docs/vote/vote.php on line 12

Hvad kan der være galt ?



Prøv det her, så:


Fold kodeboks ind/udKode 




/AC



/AC



Hej

Ja så er den fejl væk men der er stadig fejl

Parse error: parse error, expecting `')'' in /var/www/epoxy/web2/icebdk/docs/vote/vote.php on line 57






Hej

Ja så er den fejl væk men der er stadig fejl

Parse error: parse error, expecting `')'' in /var/www/epoxy/web2/icebdk/docs/vote/vote.php on line 57



Sorry tog fejl ...
Nej fejlen er her

Parse error: parse error, expecting `')'' in /var/www/epoxy/web2/icebdk/docs/vote/vote.php on line 12



Hvad er det for et webhotel du har? Kunne nemlig godt tænke mig et webhotel med register_globals=off



Hvad er det for et webhotel du har? Kunne nemlig godt tænke mig et webhotel med register_globals=off



"Jeg har problemer med dette script da mit

webhotel har registered globals= off og safety mode=on."

Desuden er det csg.dk

Hvad skal jeg ændre i scriptet for at få det til at

passe til disse konfigurationer ?







det er nok ikke konfigurationerne der er fejlen, men med globals off skal du bruge $_GET og $_POST til at få fat i get og post variablerne





Ok så men hvad skal jeg ændre i min kode??

Hvilke linier skal ændres til fra hvad til hvad osv ??





<< < 12 > >>
t