| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Sâm Apr 30, 2005 12:58 pm Titlul subiectului: Problema cu sesiunile |
|
|
Stiu ca s-a mai vorbit despre asa ceva dar am intampinat si eu o problema si as dori o mica solutie pentru ea. Multumesc mult.
Problema mea este urmatoarea :
Am un formular cu user si parola care duce la login.php.
login.php arata asa (cred ca acesta este gresit si va rog sa-mi spuneti unde este greseala)
<?
session_start();
if($_POST['nume']==""||$_POST['parola']=="")
{
print 'Trebuie sa completati amandoua campurile! <br><a href="index.php">Inapoi </a>';
exit;
}
include("config.php");
$parola=$_POST['parola'];
$sql="select users from celtis where nume='".$_POST['nume']."'and parola='".$parola."' ";
$r=mysql_query($sql);
//$row=mysql_fetch_array($r);
$nr = mysql_num_rows($r);
if ($nr == 0)
{
echo 'Nume sau parola gresita! <a href="index.php?p=admin">Inapoi </a>';
exit;
}
session_start();
$_SESSION['nume']=$_POST['nume'];
$_SESSION['parola']=$parola;
header("Location: admin.php");
?>
Rezultatul care mi-l da e ca tot timpul imi zice parola gresita, chiar daca e data corect (de asemenea, in baza de date este totul cum trebuie) |
|
| Sus |
|
bld
Data înscrierii: 01/Sep/2004
Mesaje: 284
Locație: Alaska
|
| Trimis: Sâm Apr 30, 2005 1:33 pm Titlul subiectului: |
|
|
banuiesc ca ai gresit la formular...
ai asa ceva in formular:
an style="color: #000000"><?php <input type="password" name="parola">
<input type="text" name="nume">
:?: |
|
| Sus |
|
bld
Data înscrierii: 01/Sep/2004
Mesaje: 284
Locație: Alaska
|
| Trimis: Sâm Apr 30, 2005 1:38 pm Titlul subiectului: |
|
|
P.S: scriptul acesta este pentru agentia ta de webdesign?
Sau faceti si webdevelopment pe acolo? |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Sâm Apr 30, 2005 1:53 pm Titlul subiectului: |
|
|
Nu, este pentru un mic site care il fac acuma...
Am in formular ceva de genul :
an style="color: #000000"><?php <form name="xxx" method="post" action="login.php">
<input type="text" name="nume">
<input type="password" name="parola">
Credeti ca de la formular e problema? |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4526
Locație: la birou
|
| Trimis: Sâm Apr 30, 2005 1:56 pm Titlul subiectului: |
|
|
e de la if ...
parerea mea ...
Cod: if(isset($_POST['cacao']))
{
if(ce ai scris tu acolo)
{
}
}
sau daca ma uit mai bine e de la query ...
rearanjeaza-le un pic si eu cred ca o sa mearga ... |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Sâm Apr 30, 2005 2:10 pm Titlul subiectului: |
|
|
Am incercat. LA fel. Tot timpul imi da ca e incorecta.
Nu ai putea sa-mi dai tu un cod care sa functioneze? Ms mult |
|
| Sus |
|
bond
Data înscrierii: 15/Dec/2004
Mesaje: 201
|
| Trimis: Sâm Apr 30, 2005 4:09 pm Titlul subiectului: |
|
|
Nu stiu ce setezi in config asa ca sugerez sa pui Cod: include("config.php");
inainte de Cod: session_start(); Ar mai fi o idee sa faci:
Cod: echo $sql; si apoi sa rulezi sql-ul in phpmyadmin ca sa vezi ce returneaza.
Si inca ceva: de ce ai de doua ori Cod: session_start(); in cod? |
|
| Sus |
|
stealth
Data înscrierii: 21/Iun/2004
Mesaje: 304
Locație: Timisoara
|
| Trimis: Dum Mai 01, 2005 9:59 pm Titlul subiectului: |
|
|
Ai scris de 2 ori session_start();
si gandeste-te mai bine la vulnarabilitati de tip sql injection:
"select users from celtis where nume='".$_POST['nume']."'and parola='".$parola."' "
daca la nume si parola scrie -> x' OR 'a'='a
lasa spatiu inainte si dupa "and"
inlocuieste
Cod:
$r=mysql_query($sql);
//$row=mysql_fetch_array($r);
$nr = mysql_num_rows($r);
if ($nr == 0)
{
echo 'Nume sau parola gresita! <a href="index.php?p=admin">Inapoi </a>';
exit;
}
cu
Cod:
$r=mysql_query($sql);
if ($r)
{
echo 'Nume sau parola gresita! <a href="index.php?p=admin">Inapoi </a>';
exit;
}
|
|
| Sus |
|
exael
Data înscrierii: 27/Apr/2005
Mesaje: 282
Locație: Slavui City
|
| Trimis: Lun Mai 02, 2005 12:32 am Titlul subiectului: |
|
|
ia incearca asta
formular.html
Cod: <html>
<form action="login.php" method="POST">
<table>
<tr>
<td align="right">Nume: </td>
<td><input type="text" name="nume"></td>
</tr>
<tr>
<td align="right">Parola: </td>
<td><input type="password" name="parola"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Autentificare"></td>
</tr>
</table>
</form>
</body>
</html>
login.php
Cod: <?
if($_POST['nume']==""||$_POST['parola']=="")
{
print 'Trebuie sa completati amandoua campurile! <br><a href="index.php">Inapoi </a>';
exit;
}
include("config.php");
$parolaEncriptata=md5($_POST['parola']);
$sql="select * from admin where admin_nume='".$_POST['nume']."'and admin_parola='".$parolaEncriptata."'";
$resursa=mysql_query($sql);
if(mysql_num_rows($resursa)!=1)
{
echo 'Nume sau parola gresita! <a href="index.php">Inapoi </a>';
exit;
}
session_start();
$_SESSION['nume_admin']=$_POST['nume'];
$_SESSION['parola_encriptata']=$parolaEncriptata;
$_SESSION['key_admin']=session_id();
header("location: admin.php");
?>
|
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Lun Mai 02, 2005 7:46 pm Titlul subiectului: |
|
|
| Merci mult, baieti ! 8) |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Mar Mai 03, 2005 2:05 pm Titlul subiectului: |
|
|
Buna. Am reusit cat de cat dar am intampinat ceva :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/tudy/public_html/new/index.php:7) in /home/tudy/public_html/new/admin/login.php on line 16
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/tudy/public_html/new/index.php:7) in /home/tudy/public_html/new/admin/login.php on line 16
Warning: Cannot modify header information - headers already sent by (output started at /home/tudy/public_html/new/index.php:7) in /home/tudy/public_html/new/admin/login.php on line 20
si nu imi apare ce e in admin.php.
Puteti sa ma ajutati si aici ? Multumesc |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4526
Locație: la birou
|
| Trimis: Mar Mai 03, 2005 3:27 pm Titlul subiectului: |
|
|
pune
Cod: error_reporting(E_ERROR);
ini_set(“display_errors”, “off”); |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Mar Mai 03, 2005 8:33 pm Titlul subiectului: |
|
|
Pirahna a scris: pune
Cod: error_reporting(E_ERROR);
ini_set(“display_errors”, “off”);
pff |
|
| Sus |
|
Tudy
Data înscrierii: 22/Sep/2004
Mesaje: 482
Locație: Cluj-Napoca, Romania
|
| Trimis: Sâm Iun 04, 2005 11:49 am Titlul subiectului: |
|
|
Am rezolvat cu logarea si merge.
Dar am o alta intrebare. Ar fi un fel de "acuma ce urmeaza?".
Adica,
Imi poate spune si mie cineva cam cum trebuie sa fac pentru a ramane tot timpul logat cand da pe alte butoane din meniu ? Si as vrea, ca inainte de a fi logat sa fie un meniu, iar dupa altul. (meniul e sa zicem un div in care se poate include o pagina meniulogout.php si meniulogin.php - adica meniul cand e logat si cand nu. se poate face cu GET ?)
Ce trebuie sa fac pentru a ramane logat la fiecare pagina, chiar daca dupaia tasteaza in url site-ul de la inceput. Multumesc anticipat. |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4526
Locație: la birou
|
| Trimis: Sâm Iun 04, 2005 12:11 pm Titlul subiectului: |
|
|
pentru a ramane logat tot timpul joaca-te cu cookies (poate scrii si codul ca mi-a fost lene sincer sa fac asa ceva ... :D)
faza cu 2 pagini m-a suparat si pe mine vreo 2 zile pana i-am dat de cap cu o metoda simpla numita : IF
aka
if(isset($_SESSION['whatever']))
{
include "pagina1.php";
}
else include "pagina2.php";
sau
if($o_variabila_login==1)
{
include "pagina1.php";
}
else include "pagina2.php";
$o_variabila fiind 1 dupa ce e autentificat si 0 cand nu e ...
si pentru ca ai mai pus odata intrebarea , iti mai raspund odata : COOKIES :D |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |