formmail hjælp

Tags:    php

Hej.

Jeg har lavet følgene formail til en ven.

Fold kodeboks ind/udKode 


Her er så php filen.

Fold kodeboks ind/udKode 


Mit problem er at den ikke virker, hvis jeg bruger den uden tal koden, så virker den fin.
jeg har fundet den på nettet og tilpaset den til min php.
jeg har nok ikke de rigtige coder i mit php fil.
Jeg er meget ny, så det vil være ret at få noget hjælp.



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
I din formular har du defineret talkodens navn som valcode:
<input type="text" name="valcode" size="20"/>

Men i dit script prøver du at hente værdien ud, som om den hed "kode":
$valcode = $_POST['kode'];

Den anden fejl er lidt mere rodet. Idéen med talkoden er at du laver en session med et tilfældig tal, viser det tilfældige tal på et billede og beder brugeren om at gengive det. Men, du definerer to forskellige tilfældige tal:

$_SESSION['random_number']=rand(1000, 9999);
...
<img src="image_number.php?n=<?=rand(1000, 9999)?>" alt="number" />

Sandsynligheden for at de to tal er ens, er 1 til 8999. Du burde gøre sådan her:

$randomnumber = rand(1000, 9999);
$_SESSION['random_number']=$randomnumber;
...
<img src="image_number.php?n=<? echo $randomnumber; ?>" alt="number" />



Indlæg senest redigeret d. 07.01.2010 11:26 af Bruger #955
Det er fordi du i din første kode kalder dit textfelt:
valcode,
hvorefter du i anden kode skriver:
$valcode = $_POST['kode'];

Du bør i den anden kode rette til:
Fold kodeboks ind/udKode 


Så skulle det være fixet :)



Indlæg senest redigeret d. 26.01.2010 10:49 af Bruger #14181
Hej Stefan.

Manget tak for hjælpen, det var super.
Men jeg har lige et lille problem, når man indtaster de rigtige 4 tal og trykker send, så virker det ikke.
Jeg har lavet en IF sætning, hvor i jeg vil gerne sammeligne de indtastede tal med de tal som systemet laver, se har
if ("{$_SESSION['random_number']}"!="{$valcode}")
{
echo "Man skal indtaste den rigtige kode. <a href='kontakt osny.php' title='Klik her for at komme tilbage'>Klik her for at komme tilbage til formularen</a>";

Det er lige som om at php filen ikke kan læse/se de random tal som den laver.
Fold kodeboks ind/udKode 

MVH
Henrik







t