Gå til innhold

form fungerer ikke


Anbefalte innlegg

side 1 (test.html):

 

<html>

<form action="test.php" method="get">

<input type="text" name="test">

<input type="submit">

</form>

</html>

 

side 1 (test.php)

<?php

echo $test;

?>

 

Når jeg fyller inn noe på side 1 og trykker "submit" kommer jeg til side 2, men ingenting blir skrevet ut på siden....... Kan ikke forstå hvorfor. Kan det være noe med hvordan PHP er installert på serveren...? Ser i URL'en: test.php?test=asdjlflsfj

 

*EDIT: trykkleif

Endret av cerveza
Lenke til kommentar
Videoannonse
Annonse

Serveren din har da høyst sannsynlig register_globals på off.. det betyr at du, slik som du skrev formet må skrive $_GET['test'] istedetfor $test for å få opp noe. Det er dog mye bedre å bruke method=post i forms, ikke get. Da bruker du $_POST['test'] for å få opp noe =)

Lenke til kommentar
Det er dog mye bedre å bruke method=post i forms, ikke get.

Akkurat DET kommer veldig an på hva man skal bruke form'en til da.

 

Ta f.eks. Google - de bruker URL-variabler av den grunn at man skal kunne linke til et søkeresultat. Andre steder kan det også være aktuelt med GET, så jeg ville ikke si at det ene er bedre enn det andre, for det kommer som nevnt helt an på situasjonen det skal brukes i.

Lenke til kommentar

Jeg har ikke tilgang til php.ini, så jeg fant en løsning på problemet på php.net:

 

If you're under an Apache environment that has this option enabled, but you're on shared hosting so have no access to php.ini, you can unset this value for your own site by placing the following in an .htaccess file in the root:

 

php_flag register_globals 0

 

The ini_set() function actually accomplishes nothing here, since the variables will have already been created by the time the script processes the ini file change.

 

And since this is the security chapter, just as a side note, another thing that's helpful to put into your .htaccess is:

 

<Files ".ht*">

deny from all

</Files>

 

That way no one can load .htaccess in their browser and have a peek at its contents.

 

Men, hva skal det egentlig stå i .htaccess-filen?

 

Jeg har forsøkt med bare:

 

php_flag register_globals 1

 

men da får jeg en feilmelding. 500 internal server error.

 

Noen som vet _nøyaktig_ hva det skal stå?

Lenke til kommentar

Bruk $_GET[] og $_POST[] istedenfor. Det er bare tull å fremdeles måtte være avhengig av register_globals. Da vil du få masse problemer når du senere må bytte webhotell. Å gå gjennom all koden på jakt etter variabler som stoler på reg_glob. er vannvittig frustrerende og tidkrevende.

 

Btw: [ code ] er en veldig fin BBCode når du skal poste kode. ;)

Lenke til kommentar
Det er dog mye bedre å bruke method=post i forms, ikke get.

Akkurat DET kommer veldig an på hva man skal bruke form'en til da.

 

Ta f.eks. Google - de bruker URL-variabler av den grunn at man skal kunne linke til et søkeresultat. Andre steder kan det også være aktuelt med GET, så jeg ville ikke si at det ene er bedre enn det andre, for det kommer som nevnt helt an på situasjonen det skal brukes i.

I f.eks user-logins, og admin og skripts som krever at du går igjennom form osv, er det greit med post for å si det slik :p

 

Men som du ser er get greit til noen ting og. Men sånn generelt vil jeg si post, ved mindre du av helt spesielle grunner skal ha ting i adresselinja sånn at man kan hente det opp senere :p

Lenke til kommentar
Å gå gjennom all koden på jakt etter variabler som stoler på reg_glob. er vannvittig frustrerende og tidkrevende.

Gjett hva jeg må gjøre nå da...? :blush::blush::blush:

Du bør være glad over at du oppdaget dette FØR du mekket ditt 7000-linjers superkraftige CMS. ;)

 

Nå har jo du lært dette for fremtiden også, så du slipper å måtte gjøre det noen flere ganger.

Lenke til kommentar
Å gå gjennom all koden på jakt etter variabler som stoler på reg_glob. er vannvittig frustrerende og tidkrevende.

Gjett hva jeg må gjøre nå da...? :blush::blush::blush:

Du bør være glad over at du oppdaget dette FØR du mekket ditt 7000-linjers superkraftige CMS. ;)

 

Nå har jo du lært dette for fremtiden også, så du slipper å måtte gjøre det noen flere ganger.

Vet ikke om siten min er på 7000 linjer, men tipper den er på 4-5000... Og nå har jeg flyttet den over på en annen server. Derfor dette problem... Skulle ha oppdaget det tidligere. Men, nå har jeg lært til neste gang.

Lenke til kommentar
Aiaiai...

 

Trodde du bare hadde det enkle eksempelet eller et script på maks et par hundre linjer, jeg. Derfor ;) etter 7000-linjers eksempelet. 4-5000 linjer med retting av alle GET/POST/SERVER/SESSION-variabler er mye stress.

I know... :( Begynnte litt forrige dagen, men fy fader og kjedelig... Er frustrende når siten egentlig er ferdig og fungerer, men så gjør det ikke det likevel...

Lenke til kommentar

En del editorer har mulighet for å bytte ut alle tilfeller av en streng i et helt dokument med noe annet.

Kanskje en funksjon som kan gjøre det lettere for deg?

Ellers vil det kanskje være mindre arbeid og lage et skript som leser gjennom alle filer som inneholder skjemaer eller som skjemaer peker til og automatisk bytter ut alle variabler med samme navn som skjema elementer ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...