Witam.
Mam problem z nadpisywaniem się stworzonej sesji. W sesji znajduje się "safetycode", który trzeba poprawnie przepisać, żeby móc dodać komentarz... Wrzucam poniżej mój kod php i html. Może rozwiązanie jest banalne, a ja o czymś jeszcze nie wiem? :/
<form id="comment" action="?page='. $page .'&do=add_comment" method="POST"> <td width=150px>Imię / Nick:
</td> <td><input type="text" name="nick" autofocus placeholder="Wpisz swoje imię/nick"></td> <td><input type="email" name="mail" placeholder="Wpisz swój e-mail"></td> <td align="left" valign="top">Treść komentarza:
</td> <td><textarea rows="10" name="text" placeholder="Wpisz swój komantarz">Super kalkulator! Polecam wszystkim!
</textarea></td> <td>Kod:
<span class="code" oncopy="return false">'. $_SESSION['code'] .'
</span></td> <td><input type="text" name="code" placeholder="Przepisz kod"></td> <td><input id="submit" type="submit" value="Wyślij"></td> <sup>*
</sup> nie będzie wyświetlony
$do = $_GET['do'];
switch($do){
case "add_comment":
{
$nick = trim($_POST['nick']); $mail = trim($_POST['mail']); $text = trim($_POST['text']); $code = trim($_POST['code']); if($code == $_SESSION['code']){
$add = @mysql_query("INSERT INTO `komentarze` SET `nick`=$nick, `mail`=$mail, `text`=$text"); if($add){
//header("Location: ?page=$page"); //----- success
}else{
//header("Location: ?page=$page"); //----- error add
}
}else{
//header("Location: ?page=$page"); //----- error code
}
}
break;
default:
header("Location: ?page=$page"); break;
}
}
Mój problem pojawia się przy warunku sprawdzania czy wpisany kod jest taki sam jak na "obrazku". Niestety za każdym razem jest on nadpisywany... Próbowałem już przypisać zmienną sesyjną do zmiennej i zabić sesje albo wrzucenie kodu z sha1() do ciasteczka - niestety też nie działa.
Pozdrawiam i czekam z niecierpliwością na odpowiedź.