Avatar billede webmaster-patrick Nybegynder
15. april 2006 - 15:41 Der er 3 kommentarer og
1 løsning

Operator not supported for strings

Goddag

Jeg står her i den uheldige situation at have et PHP-script, der ikke helt kan besteme sig for, om det vil virke eller ej. Jeg tror at det virker i PHP 4, men ikke i PHP 5. Her uploadet på frac.dk som bruger PHP 5.

- - - - - http://dirchsen.frac.dk/test.php - - - - -
<?php
$url = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}";
$quastion[] = array("Spørgsmål 1","Svar 1.");
$quastion[] = array("Spørgsmål 2","Svar 2.");
$quastion[] = array("Spørgsmål 3","Svar 3.");
foreach($quastion as $id => $answer) {
if(isset($_GET['quastion']) && $_GET['quastion'] == $id) {
echo "<a href=\"$url\">
{$answer[0]}
</a>
<br>
";
echo "{$answer[1]}
<p>";
}
else {
echo "<a href=\"$url?quastion=$id\">
{$answer[0]}
</a>
<p>";
}
}
?>
- - - - - - - - - -

Hvorfor siger den "Fatal error: [] operator not supported for strings in /web/www/frac/users/dirchsen/test.php on line 7"?

På forhånd tak og god påske :)
Avatar billede morhan Novice
15. april 2006 - 16:24 #1
Register globals er nok slået til, dvs $quastion peger på quastion i urlen (og er altså en streng). Opret dit array inden du tager det i brug:

$quastion = array();
Avatar billede webmaster-patrick Nybegynder
15. april 2006 - 16:30 #2
Det virker. :)

Kom med et svar.
Avatar billede webmaster-patrick Nybegynder
15. april 2006 - 16:40 #3
Jeg har fundet ud af, at det også virker, hvis jeg skriver "php_value register_globals off" i min .htaccess fil.

Vil denne løsning ikke være at foretrække, her tænkes der på sikkerheden?
Avatar billede webmaster-patrick Nybegynder
15. april 2006 - 20:05 #4
Lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester