Avatar billede enggaard Nybegynder
20. april 2003 - 15:34 Der er 8 kommentarer og
2 løsninger

Overføring af variale from en side til en anden

Jeg har følgende på en side:

<form action="login.php" method="post" name="login">
  <input type="text" name="username">
  <input type="password name="password">
  <input type="submit" name="login" value="Login">
</form>

På den næste side (login.php) har jeg så en SQL sætning der kontrolerer om username/password passer med en bruger i min mySQL DB.

Der tilgår jeg de 2 variable username og password med henholdvis $username og $password, og bruger dem der som normale variable. Det har virket finr i over et år på min side.

Men efter at have reinstaleret maskine virker det ikke mere. Variablene bliver ikke overført, elelr jeg kan i hvert tilfælde ikke tilgå dem direkte med $username/$password mere.

Jeg har ingen ide om hvad der kan være galt. Hvad med jer ?
Avatar billede schaefner Juniormester
20. april 2003 - 15:37 #1
$username = $_POST['username'];
$password = $_POST['password'];
Avatar billede ahv Nybegynder
20. april 2003 - 15:37 #2
Det er pga registrer_globals er sat til onvendt af før i tiden du skal nu tilgø dem med:

$_POST[var] hvis formen er sat til post og $_GET[var] hvis method er sat til GET
Avatar billede enggaard Nybegynder
20. april 2003 - 15:40 #3
Woot!

Schaefner:
:)  Det virkede. Tak for det.

Ahv:
Hvordan ændrer jeg det tilbage til det der var før?  JEg har en million steder det er galt jo. Det vil tage mig 100år at ændre det alle steder
Avatar billede schaefner Juniormester
20. april 2003 - 15:43 #4
Du skal ind i i din php.ini og finde et sted hvor der står: register_globals
Den skal du sætte til on.
Avatar billede ahv Nybegynder
20. april 2003 - 15:44 #5
Leder lige efter koden til at lave dem om, men det kan ikke anbefales at beholde disse gamle variabel typer, med de nye er det nemmere at undgå at blande dem sammen. Du kan se her hvordan du får fat på de nye mens jeg lige finder den stump kode frem:

$_POST['varname'] = variabler der er blevet sendt via en FORM med method="POST"

$_GET['varname'] = variabler fra adresselinien, eg: index.php?side=index

$_COOKIE['varname'] = variabler fra cookies

$_REQUEST['varname'] = alle de tre ovenstående samlet i en

$_SESSION['varname'] = variabler fra sessions

$_ENV['varname'] = servervariabler om "enviroment" ting (brugerens IP)

$_SERVER['varname'] = ass. servervariabler som fx PHP_SELF
Avatar billede enggaard Nybegynder
20. april 2003 - 15:45 #6
Tak for hjælpen begge to :) Det var lige det jeg ledte efer.

I får 15 point hver.
Avatar billede schaefner Juniormester
20. april 2003 - 15:47 #7
Var så lidt :)
Avatar billede ahv Nybegynder
20. april 2003 - 15:51 #8
Det var så lidt, jeg kan ikke lige finde den stump kode der skulle omskrive til de gamle variabler, men du kan måske slev finde den hvis ikke du ønsker at rette i php.ini eller rette alle dine variabler til.
Avatar billede enggaard Nybegynder
20. april 2003 - 15:54 #9
Jeg fandt den selv i php.ini

register_globals = off

jeg rettede den til

register_globals = on

og rebootede.  Så var den der :)
Avatar billede schaefner Juniormester
20. april 2003 - 15:58 #10
nemlig ;)
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