Adaugare nume si parola in Session

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Komfort
Mesaje:157

Adaugare nume si parola in Session

de ce nu merge....multumesc

login.php

Cod: Selectaţi tot

<?php
inlude 'cfg.php';

echo '<h1>LOGIN</h1>';
echo 'Nume: <form method="post" action="index.php">
<input type="text" name="nume">
Prenume:  <input type="text" name="prenume">

<input type="submit" name="submit"></form>';
?>
index.php.

Cod: Selectaţi tot

session_start();

if  (isset($_POST['submit']))   {
$nume=$_SESSION['nume'];
$prenume=$_SESSION['prenume'];
$sql=mysql_query("SELECT * FROM inregistrari WHERE nume='$nume'  AND prenume='$prenume'");

echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td><td></td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>"; 
}

echo 'salut $prenume';
?>

MarPlo Mesaje:4343
Ce anume vrei sa faci si ce nu merge?
Da vreo eroare?
Ca sa arate toate erorile, daca exista, se adauga la inceput in script

Cod: Selectaţi tot

ini_set('display_errors',1);
error_reporting(E_ALL);

Komfort Mesaje:157
deci...am salvat nume si parola intru tabel inregistrare.... si acuma fac login.php
login .php

Cod: Selectaţi tot

<?php
include 'cfg.php';

echo '<h1>LOGIN</h1>';

echo ' <form method="post" action="contul_meu.php">
Nume: <input type="text" name="nume"><br>

Parola: <input type="text" name="parola">

<input type="submit" name="submit"></form>';
?>
contul meu.php

Cod: Selectaţi tot

<?php
  include 'cfg.php';
session_start()
if  (isset($_POST['submit']))   {
$nume=$_SESSION['nume'];
$parola=$_SESSION['parola'];
$sql=mysql_query("SELECT * FROM inregistrari WHERE nume='$nume'  AND parola='$parola'");

echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Parola</td><td></td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>"; 

echo 'salut ';
echo $nume;
}
?>
si vreau sami selecteze din tabel nume si parola:

si sami pastreze pe tot siteul acekasi nume deoarece apare SESSION??
unde ma gresit?
:(
multumesc!.

MarPlo Mesaje:4343
Numele si parola se preia initial din formular, deci ar trebui:

Cod: Selectaţi tot

$nume=$_POST['nume'];
$parola=$_POST['parola'];
Iar in sesiune se adauga dupa ce se realizeaza cu succes interogarea SQL, cam asa:

Cod: Selectaţi tot

$sql=mysql_query("SELECT * FROM inregistrari WHERE nume='$nume'  AND parola='$parola'");
if (mysql_num_rows($sql) > 0) {
  $_SESSION['nume']=$nume;
  $_SESSION['parola']=$parola;
}

Komfort Mesaje:157

Cod: Selectaţi tot

<?php
  include 'cfg.php';
session_start()
if  (isset($_POST['submit']))   {
$nume=$_POST['nume'];
$parola=$_POST['parola'];
$sql=mysql_query("SELECT * FROM inregistrari WHERE nume='$nume'  AND parola='$parola'");

echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Parola</td><td></td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>"; 

echo 'salut ';
echo $nume;
}
?>
asa numi apare nimci :(

MarPlo Mesaje:4343
Daca nu apare niimic, nici mesaj de eroare, inseamna ca nume sau/si parola nu sunt bune.
Sau poate campurile din formular au alt nume. Ori parola e adaugata criptata, depinde si cum sunt datele adaugate in BD.

Komfort Mesaje:157
acum merge....dar imi apare doar tabelu care nu e completat:(

Cod: Selectaţi tot

<?php
  include 'cfg.php';

if  (isset($_POST['submit']))   {
$nume=$_POST['nume'];
$parola=$_POST['parola'];
$sql=mysql_query("SELECT * FROM inregistrari WHERE nume='$nume'  AND parola='$parola'");
}

echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Parola</td><td></td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>"; 
?>
imi apare tabelu ID|NUME|PAROLA|
si nu este completat ....e gol

MarPlo Mesaje:4343
Testeaza cu
echo "SELECT * FROM inregistrari WHERE nume='$nume' AND parola='$parola'";
- sa vezi ce date sunt trimise.
iar cu (dupa $sql)
echo mysql_num_rows($sql);
- vezi cate randuri returneaza mysql. Daca e 0, de asta nu afiseaza nimic.

Komfort Mesaje:157
nu merge nimic:(

pun echo "selsect.....
si imi pare care ce am scris ,,,si cand pun echo $num_rows...numi apare nimic
chiar nush unde e problema:(

http://iomame.lx.ro/" target="_blank

uite:(
exemplu :nume:silviu si parola:iomame...sau dai la regsiter si apoi login:(
incearca....chiar nuhs unde e buba:|

MarPlo Mesaje:4343
Incearca sa stergi scriptul JavaScript din pagina si sa pui Loghin-ul la butonul din formular, nu ca link, iar la action "login.php".
Link-ul nu trimite datele din formular, ci butonul submit, la adresa din atributul action.

Nu stiu exact ce script JS sa stergi, probabil e adaugat automat de lx.ro, dar incearca sa faci formularul de logare asa:

Cod: Selectaţi tot

<form method="post" action="login.php">
Nume: <input type="text" name="nume"><br>
Parola: <input type="text" name="parola"><br>
<input type="submit" name="submit" value="Login"></form><br><br>
<a href="inregistrare.php">Inregistrare</a>

Komfort Mesaje:157
offf
pai e la fel
am pus la action login .php dra aceeasi faza imi pare ddoar tabelu necompletat:(

MarPlo Mesaje:4343
Mai mult nu stiu care ar fi problema. Etapele sunt asa:
1. Formularul HTML trimite datele la scriptul php adaugat la action
2. Scriptul php le preia cu $_POST['nume_casuta'] si le adauga in interogarea SQL
3. Daca sunt returnate randuri de tabel din MySQL, le parcurge cu WHILE

Mai vezi si lectiile de pe site, despre PHP-MySQL si tutorialul Formular si adaugare in baza de date MySQL

Subiecte similare