login din a doua incercare

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
steell
Mesaje:190

login din a doua incercare

salut. am intr-o pagina acest cod de autentificare

Cod: Selectaţi tot

<?php
$hostname="localhost";
$username="root";
$password="";
$database="examen";

$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");

$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu gasesc baza de date");

$user = $_POST['user'];
$parola = md5($_POST['parola']);

$query="SELECT * FROM `inregistrari` where `user` = '".$user."' AND `parola` = '".$parola."'";
$result = mysql_query($query) or die ( "Error : ". mysql_error() );
if (!$result || mysql_num_rows($result) < 1) {
// daca nu, afiseaza un mesaj de eroare
echo "<h3>Autentificare esuata. Reincercati!</h3>";
}
else {
// salveaza username-ul si parola in sesiune
$_SESSION['user'] = $user;
$_SESSION['parola'] = $parola;
 
// afiseaza un mesaj de succes        
echo "<h3>Autentificarea a fost efectuata cu succes.</h3>";
}
mysql_close($conexiune);
?>
Cand introduc datele prima data imi zice conditia intai autentificare esuata apoi cand incerc a doua oara imi zicea conditia else autentificare reusita. de ce numai din a doua incercare functioneaza?
am introdus sus in pagina codul acesta

Cod: Selectaţi tot

<?php
session_start();
unset($_SESSION['user']);
unset($_SESSION['parola']);
?>
am pornit sesiunea apoi am sters cele 2 sesiuni pt k se creaza altele in scriptul de autentificare de mai sus. nu vad bug-ul care ma autentifica doar din a doua incercare

MarPlo Mesaje:4343
Salut
Incearca conditiile if() else {} asa:

Cod: Selectaţi tot

if ($result !== false && mysql_num_rows($result) > 0) {
  // salveaza username-ul si parola in sesiune
  $_SESSION['user'] = $user;
  $_SESSION['parola'] = $parola;

  // afiseaza un mesaj de succes       
  echo "<h3>Autentificarea a fost efectuata cu succes.</h3>";
}
else {
  // daca nu, afiseaza un mesaj de eroare
  echo "<h3>Autentificare esuata. Reincercati!</h3>";
}
 

steell Mesaje:190
tot la fel face prima data zice autentificare esuata apoi cand incerc iara zice autentificare reusita :(
si ma iam o problema:
am codul urmator cu care verau sa creeze un folder cu numele luat dintr-un formular , apoi sa copieze un fisier garda.php in acel folder dar garda.php sa aiba acelasi nume cu folderul

Cod: Selectaţi tot

$mk=mkdir($firma, 0777);

$dest=$firma/$firma.'.php';

$copy=copy('garda.php', $dest);
insa afiseaza eroarea asta :Warning: Division by zero in C:\wamp\www\inreg.php on line 74

directorul se creaza insa nu se copiaza fisierul acela

MarPlo Mesaje:4343
Salut
La prima problema nu imi dau seama care sa fie cauza, incearca sa verifici ce contin instructiunile adaugate in if(), scriind inainte de if():

Cod: Selectaţi tot

var_dump($result);
var_dump(mysql_num_rows($result));
 
var_dump() poate ajuta la descoperirea probleme, iti spune ce contne acea variabila, si poate iti dai seama de unde e cauza, o fi in alta parte in script.

La a doua problema, adauga datele in variabila $dest asa:

Cod: Selectaţi tot

$dest = $firma.'/'.$firma.'.php';