Avatar billede morten_21 Nybegynder
12. august 2003 - 13:51 Der er 12 kommentarer og
1 løsning

PHP fejl under link

Lidt sjov titel, men den her er svær at forklare:

Jeg har et lille stykke php, som kigger i en database. Men når jeg sætter nogle variable i et link, virker det ikke.

Eksempel:
<a href="side.php?dims=1'>Tekst</a>

og

echo("<p><a href='$PHP_SELF?dims=1'>Tekst</a>");

Jeg kører PHP 4.3.2.2 på en Apache 1.3.x, men hvis jeg smider det op på en anden server funker det fint.

Nogle gode tips?
Avatar billede erikjacobsen Ekspert
12. august 2003 - 13:52 #1
brug $dims=$_GET['dims'];
Avatar billede gonza.dk Nybegynder
12. august 2003 - 13:53 #2
echo fungerer uden parentes...

echo"<p><a href='$PHP_SELF?dims=1'>Tekst</a>";
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:01 #3
Jeg tror vi snakker forbi hinanden.
Med "ikke virker" mener jeg dette:

1) Jeg laver et link der ser sådan ud: <a href="side.php?dims=1>tekst</a>
2) I side.php skriver jeg følgende:

<?php
echo( "$dims" );
?>

Så skulle jeg jo få "1" ud, ved at trykke på linket men jeg får bare en tom værdi.
Avatar billede erikjacobsen Ekspert
12. august 2003 - 14:11 #4
<?php
$dims=$_GET['dims'];
echo( "$dims" );
?>
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:11 #5
Og som sagt er det kun på min egen server. På den server jeg har et webhotel på, funker det fint. Vi må være ude i noget php konfiguration..
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:14 #6
erikjacobsen>> Hmm.. så virker det. Hvad er forklaringen på at det første eksempel ikke virker lokalt, men at dette gør?

..skal jeg bare acceptere det? :)
Avatar billede jara06 Nybegynder
12. august 2003 - 14:15 #7
dit link er ok
<a href="side.php?dims=1>tekst</a>

dette skal være side.php
<?php
  echo $_GET['dims'];
?>
Avatar billede jara06 Nybegynder
12. august 2003 - 14:17 #8
du er sikker på, din server er sat op til php filer ?
prøv evt at lave en side for sig selv der f.eks. hedder  test.php  og skriv

<?php
phpinfo();
?>

i den, og kun det. Hvad får du på siden når du viser den i browseren ?
Avatar billede erikjacobsen Ekspert
12. august 2003 - 14:17 #9
Det er netop konfiguration. Det med at ?dims=1 blev til $dims er
gammeldags, og kan give anledning til hacking af dine sider, hvis du
ikke programmerer 100% korrekt. Det med $_GET, $_POST er det nye. Nu kan du se
hvor dine variabler kommer fra, og du er mindre udsat for hacking.

Dit webhotel kører sikkert med den gamle indstilling, fordi de ellers
får for mange henvendelser til deres support, mens din nye installation
har slået det fra som standard.

Anbefalingen er at der er slået fra, så jeg vil slet ikke fortælle dig
hvordan du slår det til på din hjemmeserver ;))
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:28 #10
Okay, så kan jeg bedre acceptere det :)

Surt, at den php/sql turorial ikke er opdateret så, når man er en newbie til skidtet..

Tak for indsatsen, alle ... det er nok ikke det sidste i hører til mig ;o)
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:30 #11
jara06>> Jep, phpinfo() funker fint, og de fleste ting fungerer som de skal, men bare ikke "...?variabel=1" - og det er der så en forklaring på :)
Avatar billede erikjacobsen Ekspert
12. august 2003 - 14:33 #12
Ok ;)

Men hvis du vil have de gamle scripts til at køre, så find din php.ini og ret
register_globals = Off
til
register_globals = On
Avatar billede morten_21 Nybegynder
12. august 2003 - 14:40 #13
Okay, tak. Eftersom jeg ikke hoster noget (og har en ok firewall) prøver jeg det nok lige.
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