Avatar billede php_programmoer Nybegynder
03. februar 2006 - 17:40 Der er 12 kommentarer og
2 løsninger

undgå at en variabel ændre sig ved refresh af siden

Jeg vil lige høre hvordan dette problem kan løses. Jeg har med hjælp fået lavet et system der gør at der bliver valgt et tilfældigt billede ud af 20 billeder fra min database. Billedet illustrere en 7 cifret kode. For at man kan oprette en bruger i mit community skal den kode være skrevet rigtigt i opret bruger siden. Ligesom på yahoo.com osv.

Problemet består så i at hvis man skriver den der kode som står på billedet, så resultere <form> jo i et refresh og derved bliver variablen som indeholder koden som er på billedet bliver ændret til koden fra et andet billede. Så er resultatet altid forkert.

Her er koden:

<?php
include("../mysql.php");

$hentbillede = rand(1, 20);

$foresp = mysql_query("SELECT * FROM codeimg WHERE id = \"$hentbillede\" ORDER BY piccode LIMIT 1") or die(mysql_error());
while($data = mysql_fetch_array($foresp)){

    $piccode = $data['piccode'];
}
echo "<br>";
$foresp1 = mysql_query("SELECT * FROM codeimg WHERE id = \"$hentbillede\" ORDER BY piccode LIMIT 1") or die(mysql_error());
while($data = mysql_fetch_array($foresp1)){

    $picture = $data['pic'];
    echo "<img src='";
    echo $picture;
    echo "' border='0'>";
}
?>

<form action="" method="POST">
<input type="text" name="kode">
<input type="submit" name="ok" value="ok">
</form>

<?php
if (isset($_POST[ok])) {
$kode = $_POST[kode];
if ($kode == $piccode) {
echo "Rigtigt";
}else{
echo "forkert";
}
}
?>
Avatar billede greew Nybegynder
03. februar 2006 - 17:48 #1
Som jeg ser det, kan du enten vælge at gemme hvilket billede der er tale om, i en session, eller du kan sende id'et fra codeimg med i et hidden input felt?
Avatar billede radion Nybegynder
03. februar 2006 - 17:54 #2
hidden input er en skidt ting... eftersom det nok er for at undgå bots.. de kunne nok godt tilegne sig at læse i de skjulte felter...

vil også sige at session er det eneste rigtige.. eller en mysqltabel der bliver checket op mod sessionid.

Men.. hvorfor bruger du ikke GDLib til at genere de billeder? 20 billeder er ret sparsomt...hvis man tænker bot protection
Avatar billede _eksperten_ Nybegynder
03. februar 2006 - 17:54 #3
Det ville jeg også sige. Jeg plejer at bruge et hidden input felt. Ellers kan du også bare gemme billedeid i en session, tror det er det greew også foreslår ovenover.
Avatar billede php_programmoer Nybegynder
03. februar 2006 - 17:57 #4
Fortæl lidt om GDLib :-)
Evt. et link
Avatar billede php_programmoer Nybegynder
03. februar 2006 - 18:02 #5
og hvordan jeg får det til at virke på min side
Avatar billede radion Nybegynder
03. februar 2006 - 18:41 #6
Avatar billede php_programmoer Nybegynder
03. februar 2006 - 18:54 #7
Er der noget man skal installeret eller hvad, for det virker ikke hos mig?
Har indtil videre ladet det stå på min apache server hvor hele min side ligger.
Senere ligger jeg det på min hjemmeside som kører linux server på surftown (advanced)
Vil det virke dér?

for denne fejl:

Fatal error: Call to undefined function imagecreate() in c:\wamp\www\mine filer\test\gateway-image.php on line 7

som så også resultere i at billedet ikke bliver "skabt" i gateway.php
Avatar billede php_programmoer Nybegynder
03. februar 2006 - 19:48 #8
anyone?
Avatar billede greew Nybegynder
04. februar 2006 - 10:57 #9
Jeg bruger selv gdlib hos surftown uden problemer!

Men ja, gdlib er en extension til php, som du skal loade. Oftest gennem php.ini, hvor du fjerner semikolon (;) foran ;extension=php_gd2.dll og så lægger du php_gd2.dll i dit php-directory eller dit windows/system32 directory.

Genstart apache og prøv igen!
Avatar billede php_programmoer Nybegynder
04. februar 2006 - 12:10 #10
og hvor finder/downloader jeg php_gd2.dll ?
Avatar billede php_programmoer Nybegynder
04. februar 2006 - 12:49 #11
fandt den via google.. nå men læg et svar !
Avatar billede php_programmoer Nybegynder
04. februar 2006 - 12:49 #12
både radion og greew
Avatar billede greew Nybegynder
04. februar 2006 - 15:50 #13
værsågod..
Avatar billede radion Nybegynder
05. februar 2006 - 10:14 #14
hopla :) god søndag
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