Avatar billede SimonBStoevring Nybegynder
09. maj 2010 - 21:36 Der er 4 kommentarer og
1 løsning

Husk gammel session - sæt ny. Spam tjek.

Hej.

Jeg er i gang med at lave et af de kendte tjek for spam på min side, hvor folk skal svare på et spørgsmål for at få lov til at sende en formular.

Først tjekkes for, om formularen på siden er postet (da man sendes til samme side, index.php, efter at have sendt formularen). Derefter genereres et spørgsmål og det rigtige svar gemmes som en session.

Længere nede på siden er formularen, hvor det genererede spørgsmål vises. Når formularen forsøges sendt, ryger man til den samme side, index.php, hvor der tjekkes for, om det indtastede svar er lig sessionen. Er den det, godkendes formularen. Ellers vises en fejlmeddelse og et nyt spørgsmål og et nyt svar genereres.

Der skulle altså gerne være tjekket for, om spørgsmålet er lig sessionen, inden et nyt sættes. Men det er ikke tilfældet. Jeg har forsøgt at illustrere det på min side: http://mbftp.dk/v2/

Prøv bare at skrive en URL i feltet, hvis I vil teste det.

Ud for "Gammelt svar" skulle sessionen (svaret) til det forrige spørgsmål gerne vises. Dette skulle være hvad, der længere nede på siden (i den inkluderede post.php) tjekkes med det indtastede svar.

Jeg håber, I kan følge mig.

Alt koden ligger på http://mbftp.dk/v2/files/
Avatar billede SimonBStoevring Nybegynder
10. maj 2010 - 14:48 #1
Ingen som har et bud?
Avatar billede SimonBStoevring Nybegynder
10. maj 2010 - 16:06 #2
Jeg har lavet en simpel test på http://mbftp.dk/v2/test.php hvor det virker fint.

Jeg forstår ikke, hvorfor det ikke virker på selve siden.

<?php
session_start();

echo "OLD SESSION: ".$_SESSION['test']."<hr />";

$_SESSION['test'] = rand(0,9);

echo "NEW SESSION: ".$_SESSION['test'];
?>
Avatar billede SimonBStoevring Nybegynder
10. maj 2010 - 16:23 #3
Jeg har nu fundet frem til, at når jeg fjerner inkluderingen af boardprint.php i index.php, så virker det.

Og så har jeg prøvet at fjerne forskellige ting i boardprint.php for at finde ud af, hvornår det virkede og hvornår det ikke gjorde.

Når jeg sletter følgende vil den:

$board_connect = mysql_query("SELECT id,media,comment,ip,domain,timestamp FROM board ORDER BY updated DESC") or die($sql_error.mysql_error());
while($board = mysql_fetch_array($board_connect)) {
}

Jeg kan lade indholdet af while'en være og det virker. Men sætter jeg while'en udenom, virker det ikke. Har nogen et bud?
Avatar billede SimonBStoevring Nybegynder
10. maj 2010 - 16:45 #4
Når enten $board['media'] eller $reply['media'] bliver udskrevet, giver det problemer. Fjerner jeg disse, virker de tfint.
Avatar billede SimonBStoevring Nybegynder
10. maj 2010 - 16:59 #5
Fejlen lagde ved uploadede billeder. De blev ikke uploadet korrekt. Når de blev vist  på siden, blev de vist som <img src="http://mbftp.dk/v2/" alt="" title="" /> i stedet for at linke til et billede linkede de til siden. Nu er fejlen rettet.
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