mic22
(Lksstudzionka)
4 Maj 2007 12:07
#1
Witam!
Na swojej stronie mam formularz rejestracji. Chcę do niego wprowadzic prosty skrypt tokena. jednak np. kiedy nie w pisze nic, rejestracja przebiega pomyslnie. Co jest nie tak?
<?php if ($_SESSION[auth_user]) { echo “Jesteś zalogowany, nie musisz rejestrować sie 2gi raz”; } else { session_start(); $kod1 = rand(1,5); $kod2 = rand(1,5); $kod3 = rand(1,5); $kod4 = rand(1,5); $kod5 = rand(1,5); $_SESSION[kod_all] = “$kod1$kod2$kod3$kod4$kod5”; echo " Nazwa użytkownika Hasło Adres e-mail Skąd Płeć mężczyzna kobieta Przepisz kod z obrazka: “; } ? ?php session_start(); $user = htmlspecialchars($_POST[‘user’]); $pass = htmlspecialchars($_POST[‘pass’]); $email = htmlspecialchars($_POST[‘email’]); $skad = htmlspecialchars($_POST[‘skad’]); $plec = htmlspecialchars($_POST[‘plec’]); $date_sign = date(“d.m.Y H:i:s”); include “mysql.inc”; $wynik = mysql_query (“SELECT * FROM autoryzacja
WHERE user
=’$_POST[user]’”); $rekord = mysql_fetch_array ($wynik); if(”$user" == $rekord[“user”]) $blad.=‘Nazwa użytkownika jest już zajęta! Wybierz inną.’; if(!ereg("^[a-zA-Z0-9 -]{3,24}$", $user)) $blad.=‘Nazwa użytkownika musi składać się z 3 do 24 znaków!’; if(!ereg("^[a-zA-Z0-9 -]{6,24}$", $pass)) $blad.=‘Hasło musi składać się z 6 do 24 znaków!’; if("$email" == $rekord[“email”]) $blad.=‘Twój e-mail jest już w bazie!’; if(!ereg("^[^@]+@([a-z0-9-]+.)+[a-z]{2,4}$", $email)) $blad.=‘Błędny adres e-mail!’; if(!ereg("^[a-zA-Z0-9 -]{2,50}$", $skad)) $blad.=‘Błędnie wypełnione pole “skąd”!’; if($_SESSION[kod_all] == $_POST[token]) $blad.=‘Błędniy kod z obrazka!’; if($blad!=’’) echo “$blad”; else { dodawanie usera, wysyłanie mejli itp… } ?
kutar
(Kutar 0)
4 Maj 2007 12:27
#2
Dlaczego jeśli wartości są równe to piszesz że są błedne?
<?php
if ($_SESSION[auth_user]) {
echo "Jesteś zalogowany, nie musisz rejestrować sie 2gi raz";
} else {
session_start();
session_start(); daj na początku:
<?php session_start();
if ($_SESSION[auth_user]) {
echo "Jesteś zalogowany, nie musisz rejestrować sie 2gi raz";
} else {
if("$email" ==
co to za zapis? Wyrzuć te cudzysłowy:
if($email ==
A co do problemu to może tak:
if($_POST['token']==''||$_SESSION['kod_all']!=$_POST['token'])