/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
'Oversættelse' af php-script
Fra : Erik Ginnerskov


Dato : 01-09-04 15:06

Hej NG
Jeg sidder og arbejder med noget php-login. Det fungerer for så vidt fint.
Jeg har bare det kedelige problem, at ophavet til koden har ladet et par
variabler hedde det samme som deres forventede input.

Da jeg er helt ny i php, kan jeg ikke gennemskue, hvor jeg skal ændre og
hvor jeg skal holde nallerne væk, hvis jeg vil ændre på brugernavn og
password.

Jeg kunne selvfølgelig ændre både data og variabelnavne, men det vil jeg
helst undgå.

Scriptet kan ses på http://hjemmesideskolen.dk/scripts/phppass/user2.php

Lad mig lige slutte af med at sige, at jeg er klar over, at det krypterede
password (den alfanumeriske kode i linje 4) også skal ændres, men det kan
jeg godt klare.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



 
 
michael (01-09-2004)
Kommentar
Fra : michael


Dato : 01-09-04 17:11

On Wed, 01 Sep 2004 16:06:26 +0200, Erik Ginnerskov wrote:

> Hej NG

> Da jeg er helt ny i php, kan jeg ikke gennemskue, hvor jeg skal ændre og
> hvor jeg skal holde nallerne væk, hvis jeg vil ændre på brugernavn og
> password.

$brugernavn="brugernavn"
giv variablen $brugernavn værdien "brugernavn"

$MD5_password="xxxxx"
giv variablen $MD5_password værdien "xxxxx"

$brugerdata=$_POST['brugernavn']
giv variablen $brugerdata værdien af POST_variablen brugernavn

$password=md5($_POST['password'])
giv variablen $password den "krypterede" værdi af POST_variablen password.

if($password=="$MD5_password" && $brugernavn=="$brugernavn")
Dette går galt! $brugernavn er altid == $brugernavn en af dem skal nok
være $brugerdata.

Altså i linie 3 og 4 skal der ændres.

$brugernavn="nytbrugernavn";
$MD5_password="XcfDDssFh...." (Nyt "krypteret" password)

Disse checker man så op mod de i form'en indtastede værdier ($_POST[''])

mvh
Michael

Erik Ginnerskov (01-09-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 01-09-04 20:52

michael wrote:

> $brugernavn="nytbrugernavn";
> $MD5_password="XcfDDssFh...." (Nyt "krypteret" password)

> Altså i linie 3 og 4 skal der ændres.

Det prøvede jeg, det duede ikke. Så prøvede jeg at nøjes med at andre
password (MD5-krypteret) - så virkede det.

> if($password=="$MD5_password" && $brugernavn=="$brugernavn")
> Dette går galt! $brugernavn er altid == $brugernavn en af dem skal nok
> være $brugerdata.

Fejlen ligger måske i den linje, du siger er gal. Men hvordan skal den linje
så skrives, for at brugernavnet kan ændres, uden at ændre navnet på den
variabel, der indeholder brugernavnet?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



michael (01-09-2004)
Kommentar
Fra : michael


Dato : 01-09-04 22:29

On Wed, 01 Sep 2004 21:52:28 +0200, Erik Ginnerskov wrote:

> Fejlen ligger måske i den linje, du siger er gal. Men hvordan skal
den
> linje så skrives, for at brugernavnet kan ændres, uden at ændre
> navnet på den variabel, der indeholder brugernavnet?

som det er nu, bliver der ikke sammenlignet med det brugernavn du
indtaster.

if($password=="$MD5_password" && $brugernavn=="$brugernavn")
ændres til if($password=="$MD5_password" && $brugerdata="$brugernavn")

Hvis du derefter vil ændre brugernavnet er det i linie 3.

mvh
Michael

Jacob Atzen (01-09-2004)
Kommentar
Fra : Jacob Atzen


Dato : 01-09-04 22:36

michael <spamme@mogif.de> writes:

> if($password=="$MD5_password" && $brugernavn=="$brugernavn")
> ændres til if($password=="$MD5_password" && $brugerdata="$brugernavn")

Hvorfor have gåseøjne rundt om variable? Mangler vist i øvrigt lige et
lighedstegn i den sidste sammenligning.

--
Med venlig hilsen
- Jacob Atzen

michael (02-09-2004)
Kommentar
Fra : michael


Dato : 02-09-04 07:49

On Wed, 01 Sep 2004 23:35:41 +0200, Jacob Atzen wrote:

> michael <spamme@mogif.de> writes:
>
>> if($password=="$MD5_password" && $brugernavn=="$brugernavn") ændres til
>> if($password=="$MD5_password" && $brugerdata="$brugernavn")
>
> Hvorfor have gåseøjne rundt om variable?

Ved det ikke, var sakset direkte fra siden.


> Mangler vist i øvrigt lige et
> lighedstegn i den sidste sammenligning.

Oops, du har ret.

Mvh
Michael

Erik Ginnerskov (01-09-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 01-09-04 22:56

michael wrote:

> som det er nu, bliver der ikke sammenlignet med det brugernavn du
> indtaster.
>
> if($password=="$MD5_password" && $brugernavn=="$brugernavn")
> ændres til if($password=="$MD5_password" && $brugerdata="$brugernavn")

Er afprøvet. Det virker ikke.

> Hvis du derefter vil ændre brugernavnet er det i linie 3.

Ja, det fangede jeg i første omgang. Men jeg kan ikke få det til at virke.
Jeg har også rettet brugernavn på de sider, der skal tjekkes adgang til, men
det er måske det, der er forkert?

Hent <http://www.hjemmesideskolen.frac.dk/lukket/index2.php>, log ind
(brugernavn og password står under formularen) og se siden
<http://www.hjemmesideskolen.dk/scripts/phppass/tjek.php> for at se, hvad
jeg mener.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Erik Ginnerskov (01-09-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 01-09-04 23:46

Erik Ginnerskov wrote:

>> Hvis du derefter vil ændre brugernavnet er det i linie 3.
>
> Ja, det fangede jeg i første omgang. Men jeg kan ikke få det til at
> virke. Jeg har også rettet brugernavn på de sider, der skal tjekkes
> adgang til, men det er måske det, der er forkert?

Ja, minsandten. Nu virker det - met ændret brugernavn. Tak for hjælpen.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste