Ret bruger fejl???

Tags:    php

Kan ikke rigtig finde fejlen:

Fold kodeboks ind/udPHP kode 


Det er meningen at når jeg vælger et brugernavn, så skal den automatisk fylde input felterne ud med arb og navn.



8 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
session_is_registered("brugernavn") AND ("kodeord") ?

Der mange flere fejl i din kode, men den der er godt nok mystisk. Mente du:
session_is_registered("brugernavn") && session_is_registered("kodeord")

Foruden det har du et misbrug af konstanter:

echo"<OPTION value='$row[navn]'>$row[navn]</OPTION>";

Linjer som denne hvor du har [DETTE_ER_EN_KONSTANT_NÅR_DEN_IKKE_ER_I_"_ELLER'] prøver PHP først at lede efter en konstant og hvis denne ikke eksitstere så laver den det om til en streng. Men du kunne jo være (u)heldig at ramme en konstant en dag og så står du med et meget uheldig problem.

Du har også:

<? echo "$row2[arb]"; ?>

Først og fremmest skal det være $row2['arb'] som jeg forklarede før, og derefter skal du ikke pakke det ind i gåseøjne, da det bare nedsætter din preformance og er fuldstængid unødvendigt. Hvis det er fordi du vil caste til en streng så skriv:
<?php echo (string)$row2['arb']; ?>

men dette kan i nogen tilfælde optimeres yderliger:
<?=$row2['arb']?> eller <?=(string)$row2['arb']?>

Hvis du vil echo en array værdi inde i en streng skal du også pakke værdien ind i {} :
"SELECT * FROM tabel WHERE value = '{$row2['arb']}'"

Start med at rette det :)






Indlæg senest redigeret d. 03.03.2009 22:54 af Bruger #10647
Nej, for den første kode du omtaler bruger jeg i alle, og den giver ingen fejl i de andre.



Indlæg senest redigeret d. 03.03.2009 22:51 af Bruger #14124
$svar2 = mysql_query("SELECT * FROM dsu_bestyr WHERE navn = '$_GET[navn]'") or die(mysql_error());

Skal nok være:

$svar2 = mysql_query("SELECT * FROM dsu_bestyr WHERE navn = '{$_GET['bruger']}'") or die(mysql_error());

Tag aligevel og ret de fejl jeg skriver, og så styr på din HTML (tag navne med lille, font er uddateret mm.) ;)

EDIT Husk også at escape alt din input, ellers kan du få nogle ubehagelige problemer med XSS, Sql Injection og mange andre ubehageligheder :)



Indlæg senest redigeret d. 03.03.2009 23:00 af Bruger #10647
Jeg tror minimum jeg har fortalt ham to gange at

and ('kodeord')

altid er sandt, men har har endnu aldrig rettet det, til enten noget der gav mening eller ingenting.



Desuden er session_is_registered ikke muligt fra version 6 så derfor bør han vel bruge følgende i stedet for:

Fold kodeboks ind/udPHP kode 




Jeg tror minimum jeg har fortalt ham to gange at

and ('kodeord')

altid er sandt, men har har endnu aldrig rettet det, til enten noget der gav mening eller ingenting.


Helle for at være den første til at køre Sql Injections på hans site så :D



Er ikke så god til PHP endnu, og dermed ikke er så meget på sikkerhed endnu.



Nej men hvis du følger vores anvisninger skal det jo nok komme.

Bare du følger dem ALLE



t