Problema php script logare
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
cadou
- Mesaje: 328
Problema php script logare
Salut!
Nu gasesc greseala al acestui cod ce l-am facut ...
fisierul logare.php arata cam asa
Cod: Selectaţi tot
<?php session_start(); include('../conectare.php');
if(isset($_GET['login']) OR isset($_GET['logout']))
{
$login = $_GET['login'];
$logout = $_GET['logout'];
}
// daca se logheaza //
if(isset($login))
{
$n = $_POST['nume'];
$nume = strtolower($n);
$parola = $_POST['parola'];
$pass = md5($parola);
if(strlen($_POST['nume']) < 3)
{
echo ' <div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Numele de utilizator trebuie sa fie de minim 3 caractere!
</div>';
}
else if(strlen($_POST['parola']) < 6)
{
echo ' <div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Parola trebuie sa fie de minim 6 caractere!
</div> ';
}
else {
$login = "SELECT * FROM `membri` WHERE `nume` = '$nume' AND `parola` = '$pass' LIMIT 1";
$conectlogin = $dbh->query($login);
$logare = $conectlogin->fetch(PDO::FETCH_ASSOC);
if($logare == true)
{
$_SESSION['authorized'] = true;
$_SESSION['id'] = $logare['id'];
$_SESSION['nume'] = strtolower($nume);
$_SESSION['parola'] = strtolower($pass);
$ipvisit = $_SERVER['REMOTE_ADDR'];
setlocale(LC_TIME, array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2'));
date_default_timezone_set('Europe/Bucharest');
$dtvisit = strftime('%d %B %Y ora %H:%M:%S');
$on = time() + '60';
$onlineuserlogin = $dbh->query("UPDATE membri SET online='$on', ipvisit='$ipvisit', dtvisit='$dtvisit' WHERE id='$_SESSION[id]'");
?>
<script type="text/javascript"><!--
var adress = $('#adress').val();
parent.window.location.href=''+adress+'';
--></script>
<?php }
else
{
echo '<div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Numele de utilizator sau parola sunt incorecte!
</div>';
}
}
}
// daca se delogheaza //
else if(isset($logout))
{
session_start();
include("../conectare.php");
// sterge online //
$nn = $_SESSION['nume'];
$nume = strtolower($nn);
$deleteon = $dbh->query("UPDATE membri SET online='2' WHERE nume='$nume'");
// sterge online //
session_start();
session_destroy();
header("Location: /index.php");
exit;
}
// daca e accesata adresa simpla //
else
{ ?>
<link rel="stylesheet" type="text/css" href="/css.css" />
<div style="padding-top:20px;color: green;text-align: center;font-weight: bold;">
<img src="/imagini/meniu-sus/succes.png" width="50" height="50">
Conecteaza-te cu noi SAU <a href="/inregistrare.php" class="register">Inscrie-te </a>!!!
<img src="/imagini/meniu-sus/succes.png" width="50" height="50">
</div>
<center>
<div id="login_box">
<div class="logare">Intrare</div>
<div class="inregistrare"><a href="/inregistrare.php" class="register">Inscrie-ma !</a></div>
<div class="form">
<form method="post">
<p><font color="blue"><b>Nume Utilizator</b></font></p>
<p>
<input class="textbox" name="nume" id="nume" size="23" type="text">
</p>
<p><font color="blue"><b>Parola</b></font></p>
<p>
<input class="textbox" name="parola" id="parola" size="23" type="password">
</p>
<p><a href="/recuperare-parola.php">Ai uitat parola?</a></p>
<p>
<input type="submit" class="logarepesite" name="submit" id="logare" value="">
</p>
</div>
</form>
</div>
<div id="resp"></div>
</center>
<script type="text/javascript" src="js.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
$('.logare').submit(function() {
var name = $(this).find('input[name="nume"]');
var parola = $(this).find('input[name="parola"]');
$('*').removeClass('error');
var error = 0;
if(error==0) {
var srl = $(this).serialize();
$.ajax({
type: 'post',
url: 'login.php',
data: srl,
beforeSend: function() {
$('#resp').html('<img src="/imagini/stare-loading.gif"><font color="orange"><b> Te rugam asteapta!</b></font>');
},
timeout: 10000,
error: function(xhr, status, error) { alert('Eroare: '+ xhr.status+ ' - '+ error); }, // afiseaza Alert cu eroare
success: function(raspuns) {
$('#resp').html(raspuns);
}
});
}
return false;
});
});
function close_popup() {
(new popWindow().close());
}
function open_popup(uri,wi,he) {
close_popup();
(new popWindow({iframeUrl:uri}).open());
}
//--></script>
<?php }
?>
Dau pe butonul de intra si nu afiseaza nici macar eroare ca nu am scris nimic in campurile de nume si parola ... pur si simplu se da un fel de refresh la popup-ul ce imi afiseaza formularul de logare ...
MarPlo
Mesaje: 4343
Incearca asa; retii intr-o variabila datele care sa fie afisate, apoi, dupa ce se termina instructiunile php, faci afisare la acea variabila in codul html:
Cod: Selectaţi tot
<?php
session_start(); include('../conectare.php');
if(isset($_GET['login']) OR isset($_GET['logout'])){
$login = $_GET['login'];
$logout = $_GET['logout'];
}
$rehtml ='';
// daca se logheaza //
if(isset($login)){
$n = $_POST['nume'];
$nume = strtolower($n);
$parola = $_POST['parola'];
$pass = md5($parola);
if(strlen($_POST['nume']) < 3){
$rehtml .=' <div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Numele de utilizator trebuie sa fie de minim 3 caractere!
</div>';
}
else if(strlen($_POST['parola']) < 6){
$rehtml .=' <div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Parola trebuie sa fie de minim 6 caractere!
</div> ';
}
else {
$login = "SELECT * FROM `membri` WHERE `nume` = '$nume' AND `parola` = '$pass' LIMIT 1";
$conectlogin = $dbh->query($login);
$logare = $conectlogin->fetch(PDO::FETCH_ASSOC);
if($logare == true){
$_SESSION['authorized'] = true;
$_SESSION['id'] = $logare['id'];
$_SESSION['nume'] = strtolower($nume);
$_SESSION['parola'] = strtolower($pass);
$ipvisit = $_SERVER['REMOTE_ADDR'];
setlocale(LC_TIME, array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2'));
date_default_timezone_set('Europe/Bucharest');
$dtvisit = strftime('%d %B %Y ora %H:%M:%S');
$on = time() + '60';
$onlineuserlogin = $dbh->query("UPDATE membri SET online='$on', ipvisit='$ipvisit', dtvisit='$dtvisit' WHERE id='$_SESSION[id]'");
$rehtml .="<script type='text/javascript'>
var adress = $('#adress').val();
parent.window.location.href=''+adress+'';
</script>";
}
else {
$rehtml .='<div style="font-weight:bold;color:red;">
<img src="/imagini/meniu-sus/stare-error.png"> Numele de utilizator sau parola sunt incorecte!
</div>';
}
}
}
else if(isset($logout)){ // sterge online //
$nn = $_SESSION['nume'];
$nume = strtolower($nn);
$deleteon = $dbh->query("UPDATE membri SET online='2' WHERE nume='$nume'");
// sterge online //
session_destroy();
header("Location: /index.php");
exit;
}
?>
<link rel="stylesheet" type="text/css" href="/css.css" />
<script type="text/javascript" src="js.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<?php echo $rehtml; ?>
<div style="padding-top:20px;color: green;text-align: center;font-weight: bold;">
<img src="/imagini/meniu-sus/succes.png" width="50" height="50">
Conecteaza-te cu noi SAU <a href="/inregistrare.php" class="register">Inscrie-te </a>!!!
<img src="/imagini/meniu-sus/succes.png" width="50" height="50">
</div>
<center>
<div id="login_box">
<div class="logare">Intrare</div>
<div class="inregistrare"><a href="/inregistrare.php" class="register">Inscrie-ma !</a></div>
<div class="form">
<form method="post">
<p><font color="blue"><b>Nume Utilizator</b></font></p>
<p>
<input class="textbox" name="nume" id="nume" size="23" type="text">
</p>
<p><font color="blue"><b>Parola</b></font></p>
<p>
<input class="textbox" name="parola" id="parola" size="23" type="password">
</p>
<p><a href="/recuperare-parola.php">Ai uitat parola?</a></p>
<p>
<input type="submit" class="logarepesite" name="submit" id="logare" value="">
</p>
</div>
</form>
</div>
<div id="resp"></div>
</center>
<script type="text/javascript">
$(document).ready(function() {
$('.logare').submit(function() {
var name = $(this).find('input[name="nume"]');
var parola = $(this).find('input[name="parola"]');
$('*').removeClass('error');
var error = 0;
if(error==0) {
var srl = $(this).serialize();
$.ajax({
type: 'post',
url: 'login.php',
data: srl,
beforeSend: function() {
$('#resp').html('<img src="/imagini/stare-loading.gif"><font color="orange"><b> Te rugam asteapta!</b></font>');
},
timeout: 10000,
error: function(xhr, status, error) { alert('Eroare: '+ xhr.status+ ' - '+ error); }, // afiseaza Alert cu eroare
success: function(raspuns) {
$('#resp').html(raspuns);
}
});
}
return false;
});
});
function close_popup() {
(new popWindow().close());
}
function open_popup(uri,wi,he) {
close_popup();
(new popWindow({iframeUrl:uri}).open());
}
</script>
cadou
Mesaje: 328
multumesc pentru raspuns!
problema era alta, am gasit "buba" dupa atatea ore de stat si tocit la acest cod ... nu am modificat nimic din el, e bun asa cum este prezentat,
problema este ca la delogare nu ma redirectioneaza , imi da eroarea asta:
Cod: Selectaţi tot
Warning: Cannot modify header information - headers already sent by (output started at /storage/ss .... " ...
MarPlo
Mesaje: 4343
Cand se lucreaza cu header() , la fel ca si la session_start(), nu trebuie sa ai cod care genereaza date de iesire inainte de linia cu header().
Deci, header() trebuie adaugat inainte de orice al cod care trimite date la browser, cum ar fi HTML, valori cu "echo", sau chiar vreun spatiu pana la <?php .
- De aceea este indicat sa retii intr-o variabila datele pe care vrei sa le afisezi, ca sa nu afectezi cu 'echo' vreun header() sau altceva; si le afisezi direct in codul html unde trebuie.
Subiecte similare
-
Problema ordonare in script paginare
PHP - MySQL - XML
Primul mesaj
Buna, am urmatorul script de paginare, insa nu reusesc sa-l setez sa-mi returneze inregistrariile din mysql ordonate descendent dupa ID.
Am...
Ultimul mesaj
Multumesc mult de ajutor, functioneza perfect!!!
-
Problema instalare Anime.JS
JavaScript - jQuery - Ajax
Primul mesaj
Salutare!
1. 6 decembrie 2020, 23.15 - download Anime.JS
2. Putin mai devreme, am incercat sa downloadez acest concept bazat pe JavaScript.
3....
Ultimul mesaj
Nu am inteles care e concret problema pe care o ai cu scriptul anime.js.
-
O mica problema de animatie CSS
HTML - XHTML - CSS
Primul mesaj
Noroc, MarPlo!
1. Am vizitat pe twitter un site de animatie, in care website-ul actual se numeste CSS-Challenges,com. In respectivul website, sunt...
Ultimul mesaj
1. Multumesc pentru raspuns.
2. Am inteles raspunsul tau: este un mic examen oferit voluntarilor online, pentru a le afla capacitatile de rezolvare...
-
Problema curs de Engleza
Sesizari Erori si Greseli
Primul mesaj
Buna.
Am descarcat cursul curs_eurocor-engleza_incepatori_1-16.rar si cand vreau sa-l dezarhivez imi da eroarea asta:
An error occures whilw...
Ultimul mesaj
Buna,
Poti sa descarci cursul de engleza, nivel intermediar, de la urmatoarele linkuri:
- Lectiile 1-16...
-
Problemă cu 'this' în function.call() în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
De ce function.call() se comportă diferit cu ' this ' cand nu e adaugat ca argument, în JavaScript?
Rezultatul cu 'this' în test.call() este același...
Ultimul mesaj
Functia call() necesita primul argument, care e pentru obiectul 'this', daca nu ai nevoie de el, adauga null .
test.call(null, ...args);
In...
-
Script rasturnare imagine
JavaScript - jQuery - Ajax
Primul mesaj
O idee de un script cum as putea face ca atunci cand am o imagine rasturnata sa apas de exemplu pe sageti si sa mi-o aduca in ce pozitie vreau eu?...
Ultimul mesaj
Salut,
Ca idee ar fi urmatoarea:
1. Adaugi imaginea intr-un element canvas.
2. Cu sgetile /butoanele apelezi o functie javascript care roteste...