salut, ceea ce face aceste DELETE, SELECT, INSERT este in login.php adica in fisierul acela pe care mi-ai zis sa il folosesc (varianta mai veche) si atunci cand introduc in casuta 'nume' atunci indiferent daca este sau utilizator scriptul mi-l ia ca si cand s-a logat chit ca el nu s-a logat deloc. sursa este aici:
Cod: Selectaţi tot
<?php
// De la https://marplo.net
/**
* Urmatoarea functie sterge randurile din tabelul user_temp mai vechi de 10 min
* verifica daca utilizatorul a incercat de mai multe ori autentificarea
* daca a incercat deja de 3 ori fara utilizator-parola confirmate
* solicita incercarea unei noi autentificari dupa 10 min
*/
function temp_user($utilizator) {
GLOBAL $conn;
$data = time();
$data_expir = $data-601;
$ip = $_SERVER['REMOTE_ADDR'];
/* Sterge randurile din tabelul user_temp mai vechi de 10 min */
$sql = "DELETE FROM `user_temp` WHERE `data`<$data_expir";
mysql_query($sql,$conn);
/* Adauga slashuri (pentru utilizator), daca PHP nu e setat sa adauge implicit */
if(!get_magic_quotes_gpc()) { $utilizator = addslashes($utilizator); }
/* Verifica daca numle este in tabelul user_temp */
$sql1 = "SELECT `utilizator`, `incercari`, `data` FROM `user_temp` WHERE `utilizator`='$utilizator'";
$result = mysql_query($sql1,$conn);
if(!$result || (mysql_numrows($result)<1)) {
$sql1 = "INSERT INTO `user_temp` (utilizator, ip, data) VALUES ('$utilizator', '$ip', '$data')";
mysql_query($sql1,$conn);
return 'continua';
}
else {
/* Gaseste nr. incercari asociata utilizatorlui */
$tbarray = mysql_fetch_array($result);
$incercari = $tbarray['incercari'];
if ($incercari<3) {
$incercari++;
// incrementeaza nr. incercari cu 1 si actualizeaza data
$sql1 = "UPDATE `user_temp` SET `incercari`='$incercari', `data`='$data' WHERE `utilizator`='$utilizator'";
$result = mysql_query($sql1);
return 'continua';
}
else if ($incercari>=3) {
$timp = 600 - ($data - $tbarray['data']);
return $timp; // Indica nr. incercari depasit si returneaza timpul pt. calculare asteptare
}
}
}
/**
* Urmatoarea functie verifica daca utilizatorle exista in baza de date
* daca da, verifica daca parola se potriveste cu cea din baza de date
* daca utilizatorle sau parola nu sunt corecte, returneaza eroarea (1 sau 2).
* pentru utilizator si parola confirmate returneaza 0.
*/
function confirmUser($utilizator, $parola) {
GLOBAL $conn;
/* Adauga slashuri daca este necesar (pentru query) */
if(!get_magic_quotes_gpc()) {
$utilizator = addslashes($utilizator);
$parola = addslashes($parola);
}
/* Verifica daca numle este in baza de date */
$q = "SELECT parola, aprobat from `utilizatori` WHERE `utilizator`='$utilizator'";
$result = mysql_query($q,$conn);
if(!$result || (mysql_numrows($result)<1)) {
return 1; //Indica utilizator neconfirmat
}
else {
/* Gaseste parola asociata utilizatorlui */
$dbarray = mysql_fetch_array($result);
$dbarray['parola'] = stripslashes($dbarray['parola']);
// Verifica daca utilizatorul este confirmat (aprobat 1)
if ($dbarray['aprobat']==0) {
return 3; // Inregistrarea nu a fost aprobata
}
/* Verifica daca parola scrisa este aceeasi cu cea gasita in baza de date */
else if($parola==$dbarray['parola']) {
return 0; // utilizator si parola confirmate
}
else {
return 2; // indica parola neconfirmata
}
}
}
/**
* Verifica autentificarea prin sesiune - daca utilizatorul este deja autentificat
* verifica daca utilizatorul a fost memorat in cookie
* adaug o sesiune ca utilizatoru este logat
* Apeleaza functia ce verifica daca datele din sesiune sunt corecte cu cele din baza de date
* returneaza TRUE daca utilizatorul este autentificat.
*/
function checkLogin() {
/* verifica daca utilizatorul este memorat in cookie */
if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookpass'])) {
$_SESSION['utilizator'] = $_COOKIE['cookname'];
$_SESSION['parola'] = $_COOKIE['cookpass'];
}
/* verifica daca exista in sesiune utilizatorle si parola setate */
if(isset($_SESSION['utilizator']) && isset($_SESSION['parola'])) {
/* Confirma daca utilizatorle si parola sunt valide */
if(confirmUser($_SESSION['utilizator'], $_SESSION['parola'])===0) { $result = 'logat'; }
else {
/* daca variabilele sunt incorecte, sterge sesiunea, utilizatorul nu este logat */
unset($_SESSION['utilizator']);
unset($_SESSION['parola']);
$result = 'nelogat';
}
return $result;
}
/* Utilizatorul nu este logat */
else { return 'nelogat'; }
}
/**
* Determina daca va fi sau nu afisat formularul de autentificare
* arata ca utilizatorul este autentificat, bazat pe variabilele din sesiune, sau mesajele de eroare
*/
function displayLogin($mesaj) {
if(isset($_SESSION['utilizator']) && $mesaj=='logat') {
$confirm_message_iesire = "'Ati ales sa parasiti PANOUL DE ADMINISTRARE. Doriti sa continuati?'";
$result = '';
}
else if($mesaj=='nelogat') {
// Afiseaza formularul
$result = '<script src="verific.js"></script><!--/ https://marplo.net /-->
<form action="'. $_SERVER['PHP_SELF']. '" method="post" onsubmit="return regcheck(this)">
<table align="center" border="0" cellspacing="0" cellpadding="1" width="270" style="border:1px solid #888888; padding:1px;">
<tr><th colspan="2" align="center">Autentificare</th></tr>
<tr><td><label for="utilizator">Utilizator: </label><input type="text" name="utilizator" size="14" maxlength="30" id="utilizator" /></td>
<td align="center"> <input type="submit" name="sublogin" value="Autentifica-te" /></td></tr>
<tr><td><label for="pass">Parola: </label><input type="password" name="pass" size="14" maxlength="30" id="pass" /></td>
<td align="center"><input type="checkbox" name="remember" /><font size="2">Tine-ma minte</font></td></tr>
</table>
</form>';
}
else {
$result = '<table align="center" bordercolor="red" border="1" cellspacing="0" cellpadding="2" width="270"><tr><td align="center">'. $mesaj. '</td></tr></table>';
}
return $result;
}
/**
* Verifica daca utilizatorle si parola au fost trimise prin formularul de logare
* daca da, verifica lungimea utilizatorlui si parolei,
* apoi datele in baza de date si creaza sesiunea
*/
if(isset($_POST['sublogin']) && isset($_POST['utilizator']) && isset($_POST['pass'])) {
// Retinerea adresei (preluata din form) pt. revenire la pagina anterioara
$inapoi = '<br /><b><a href="#" onClick="history.back()">Reveniti</a></b> la pagina anterioara.';
// Elimina spatiile din marginile utilizatorlui si parolei
$_POST['utilizator'] = trim($_POST['utilizator']);
$_POST['pass'] = trim($_POST['pass']);
/* verifica daca toate campurile au fost completate */
if(!$_POST['utilizator'] || !$_POST['pass']){
$eroare='Nu ati completat toate campurile'. $inapoi;
}
/* verifica lungimea utilizatorlui */
else if(strlen($_POST['utilizator'])<3 || strlen($_POST['utilizator'])>32) {
$eroare='utilizatorle trebuie sa contina intre 3 si 32 caractere'. $inapoi;
}
/* verifica lungimea parolei */
else if(strlen($_POST['pass'])<3 || strlen($_POST['pass'])>18) {
$eroare='Parola trebuie sa contina intre 3 si 18 caractere.'. $inapoi;
}
else {
// Verifica si adauga incercarea de logare in tabelul user_temp
$continua = temp_user($_POST['utilizator']);
if ($continua=='continua') {
$md5pass = md5($_POST['pass']); // Cripteaza parola
/* verifica daca utilizatorle este in baza de date si parola este corecta */
$result = confirmUser($_POST['utilizator'], $md5pass);
/* Seteaza mesajul in cazul in care utilizator sau parola sunt incorecte */
if($result==1) {
$eroare='utilizatorle <b>'. stripslashes($_POST['utilizator']). '</b> nu este inregistrat.'. $inapoi. '<br />';
}
else if($result==2) {
$eroare='Parola incorecta.'. $inapoi. '<br/>';
}
else if($result==3) {
die('<center><br /><br /><font color="red"><h3>Inregistrarea pt. <u>'. stripslashes($_POST['utilizator']). '</u> este neconfirmata.</h3></font> Verificati contul de e-mail folosit la inregistrare (inclusiv in Spamm) pt. mesajul cu link-ul de confirmare.<br /><br /> Daca doriti sa solicitati un nou e-mail de confirmare, <a href="recuper.php?confirm=1">Click Aici</a></center>');
}
else {
/* daca utilizatorle si parola sunt corecte, inregistreaza variabilele in sesiune */
$_SESSION['utilizator'] = $_POST['utilizator'];
$_SESSION['parola'] = $md5pass;
/** Aici utilizatorul alege sa fie retinute datele pt.urmatoarea vizita
* seteaza doua cookie-uri, unul care pastreaza utilizatorle si al doilea pt. parola
* acestea expira in 100 de zile */
if(isset($_POST['remember'])) {
setcookie("cookname", $_SESSION['utilizator'], time()+60*60*24*100, "/");
setcookie("cookpass", $_SESSION['parola'], time()+60*60*24*100, "/");
}
/* Auto redirect pentru a evita retrimiterea datelor cand da inapoi sau la refresh */
echo '<meta http-equiv="Refresh" content="1;url='.$_SERVER['PHP_SELF'].'">';
exit;
}
}
else {
// Seteaza mesajul cu timpul ramas pana la o noua incercare de autentificare
$continua = floor($continua/60). ' minute, '. ($continua%60). ' secunde';
$eroare = 'Ati depasit nr. incercari permise pt. autentificare. Puteti reincerca dupa <br /><b>'. $continua. '</b>'. $inapoi. '<br />';
}
}
}
/* Seteaza variabila logged_in, care poate fi folosita in site pt. afisearea
* valoarea ei reprezinta ce va afisa in pagina, prin apelarea functiei displayLogin()
* Daca exista vreo eroare, apeleaza functia cu acea eroare, altfel, o apeleaza cu rezultatul altei functii checkLogin(), care verifica autentificarea */
$logged_in = (isset($eroare)) ? displayLogin($eroare) : displayLogin(checkLogin());
@mysql_close();
?>
astept raspuns, multumesc anticipat, cu stima trif