logare doar din pagina cu scriptul php

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

logare doar din pagina cu scriptul php

salut.
am un formular ce contine campurile nume si parola inclus in mai multe pagini, iar la action e pus numele pagini cu scriptul php.
problema este ca nu imi face logarea decat daca ma aflu deja in pagina cu scriptul,
adica, dak ma aflu in index si introduc datele imi zice conditia 2 de la if si anume logare esuata, insa daca ma aflu in pagina ce contine scriptul de logare functioneaza.
asta e scriptul de logare

Cod: Selectaţi tot

$query="SELECT `firma` FROM `inregistrari` where `user` = '".$user."' AND `parola` = '".$parola."'";
$result = mysql_query($query) or die ( "Error : ". mysql_error() );
if ($result !== false && mysql_num_rows($result) > 0) {
  // salveaza username-ul si parola in sesiune
  $_SESSION['user'] = $user;
  $_SESSION['parola'] = $parola;
while ($row = mysql_fetch_row($result)) {
  $_SESSION['firma'] = $row[0];

  // afiseaza un mesaj de succes       
  echo "<h3>Autentificarea a fost efectuata cu succes.</h3>";
  echo '<br /><a href="'.$row[0].'/'.$row[0].'.php">Mergi la pagina mea!</a>';
  echo '<script type="text/javascript">';
  echo 'alert("Bine ai venit '.$_SESSION['user'].'")';
  echo '</script>';

}
}
else {
  // daca nu, afiseaza un mesaj de eroare
  echo "<h3>Autentificare esuata. Reincercati!</h3>";
}
mysql_close($conexiune);
culmea e ca mai am si alte scripturi ce extrag anumite date din tabele mysql si aceela functioneaza bine si sunt facute la fel ca acesta

MarPlo Mesaje:4343
Fiindca se lucreaza cu $_SESSION, ar trebui sa ai la inceputul script-ului:

Cod: Selectaţi tot

if(!isset($_SESSION)) session_start();
In codul scriptului pe care l-ai pus nu e adaugat preluarea datelor din furmular, cu $_POST, pt $user si $parola .

steell Mesaje:190
defapt am la inceputul paginii sesiunea pornita si am si inainte de interogarea mysql
$use si $parola extrase din formular dar nu elam mai scris in primul post
tot codul arata asa

Cod: Selectaţi tot

<?php
session_start();
unset($_SESSION['user']);  //in caz ca existau deja
unset($_SESSION['parola']); //...
unset($_SESSION['firma']); // ...
?>
ceva cod html...
<?php
include ('dbconnect.php');

$user = strip_tags($_POST['user']);
$parola = md5($_POST['parola']);
$cuvinte = array('\\', '"', '\'', '/', '&', ';', '>', '<', '}', '{', ']', '[', '^', '%', ',', '|', ':', '?', '`', '~', '*');
$inlocuire = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u');
$user = str_replace($cuvinte, $inlocuire, $user);

$query="SELECT `firma` FROM `inregistrari` where `user` = '".$user."' AND `parola` = '".$parola."'";
$result = mysql_query($query) or die ( "Error : ". mysql_error() );
if ($result !== false && mysql_num_rows($result) > 0) {
  // salveaza username-ul si parola in sesiune
  $_SESSION['user'] = $user;
  $_SESSION['parola'] = $parola;
while ($row = mysql_fetch_row($result)) {
  $_SESSION['firma'] = $row[0];

  // afiseaza un mesaj de succes       
  echo "<h3>Autentificarea a fost efectuata cu succes.</h3>";
  echo '<br /><a href="'.$row[0].'/'.$row[0].'.php">Mergi la pagina mea!</a>';
  echo '<script type="text/javascript">';
  echo 'alert("Bine ai venit '.$_SESSION['user'].'")';
  echo '</script>';

}
}
else {
  // daca nu, afiseaza un mesaj de eroare
  echo "<h3>Autentificare esuata. Reincercati!</h3>";
}
mysql_close($conexiune);
?>
care ar putea fi motivul pentru care face logarea doar daca ma aflu in aceasta pagina nu si din alta in care este inclus formularul de login

MarPlo Mesaje:4343
Cauza ar putea fi la formularul de logare.
Incearca la "action" sa pui adresa completa catre scriptul de logare, adica cu http:// ..., vezi daca merge.
Daca merge, problema ar putea fi calea relativa din celelalte pagini la cel de logare, in functie de directarele in care sunt si apar in adresa URL.

steell Mesaje:190
nu merge. o sa mai caut care ar putea fi cauza probabil e ceva ce-mi scapa o nearanjare a fisierelor, oricum scriptul e exclus ca ar fi gresit pt ca mai am astfel de scripturi si sunt scrise la fel ca acesta si alea merg bine

Subiecte similare