Малко помощ ?

  • Автор Автор html
  • Начална дата Начална дата

html

Registered
Здравейте,в момента чета една книга за php и се мъча да направя проста логин система :
Код:
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli";
$sql = mysql_query($za);
while($ar = mysql_fetch_array($sql)){
if($potr_ime == $ar['potr_ime'] and $parola == $ar['parola']){
echo ("Здравей <b>$potr_ime</b>!");
} 
else {
echo ("greshka");
}
}
?>

но след като се логна ми изписва :
greshkaЗдравей krasen82!
и се чудя защо ми изписва greshka пред здравей ако може да ми помогнете
:oops:
 
пробвай така:
Код:
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli";
$sql = mysql_query($za);
while($ar = mysql_fetch_array($sql)){
if($potr_ime == $ar['potr_ime'] and $parola == $ar['parola']){
echo "Здравей <b>$potr_ime</b>!";
}
else {
echo "greshka";
}
}
?>
Да видим сега какво ще стане
 
s пробвай така:
Код:
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$num = mysql_num_rows($sql);
if ($num != 0) 
	{
while($ar = mysql_fetch_array($sql)){
echo "Здравей <b>$potr_ime</b>!";
}
elseif($num = 0){
echo "ГРЕШКА";
}
}
?>
Кажи сега дали ти дава грешка
 
hellfire каза:
в logout трябва да направиш
session_unregister
session_destroy();

Ами аз сега чета php5 в лесни стъпки и нямда ми е нужен logout защото се упражнявам все пак мерси :)
 
Код:
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$num = mysql_num_rows($sql);
if ($num != 0)
   {
while($ar = mysql_fetch_array($sql)){
echo "Здравей <b>$potr_ime</b>!";
}
else{
echo "ГРЕШКА";
}
}
?>
 
ами да нормално не си задал никаде $_SESSION['username'] Или подобно то не се прави само копване и пастване
<?php
$potr_ime = htmlspecialchars($_POST['potr_ime']);
$parola = htmlspecialchars($_POST['parola']);
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$num = mysql_num_rows($sql);
if ($num != 0)
{
while($ar = mysql_fetch_array($sql)){
$sessionid=$ar[id-to];
$_SESSION['username'] = $sessionid;
echo "Здравей <b>$potr_ime</b>!";
}
elseif($num = 0){
echo "ГРЕШКА";
}
}
?>
logout
session_unregister("username");
session_destroy();
EDIT://
с include го ползвай
 
hellfire:
Код:
Parse error: syntax error, unexpected T_ELSEIF in D:\web\reg\vhod.php on line 2

Harry_Potter_:
Код:
Parse error: syntax error, unexpected T_ELSE in D:\web\reg\vhod.php on line 18

:roll:
 
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$parola=htmlspecialchars($parola);
$potr_ime=htmlspecialchars($potr_ime);
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$num = mysql_num_rows($sql);
if ($num != 0)
{
while($ar = mysql_fetch_array($sql)){
$sessionid=$ar[id-to];
$_SESSION['username'] = $sessionid;
echo "Здравей <b>$potr_ime</b>!";
}
else{
echo "ГРЕШКА";
}
}
?>
така би трябвало да стане ако не си виж кода
задължително трябва да имаш в кода $_SESSION иначе....
имаш също грешка в elseif....
 
Код:
 Parse error: syntax error, unexpected T_ELSEIF in D:\web\reg\vhod.php on line 22
Остай продължавам нататък :D
 
reg.html
Код:
<html>
<head>
</head>
<body>
<form action="reg.php" method="POST">
Ime:
<input type="text" name="ime"><br>
familia:
<input type="text" name="familia"><br>
potr ime:
<input type="text" name="potr_ime"><br>
pass:
<input type="text" name="parola"><br>
<input type="submit" value="jega">
</form>
</body>
</html>

reg.php:
Код:
<?php
$ime = $_POST['ime'];
$familia = $_POST['familia'];
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
if($ime == false and $familia == false and $potr_ime == false and $parola == false){
echo "<script>javascript:alert('molq popalnete vsi4ki poleta');</script> <a href=\"form.php\"><обратно></a>";
} else {
$c = mysql_connect("localhost" ,"root" ,"парола") or die (mysql_error());
$c = mysql_select_db("dostyp", $c) or die(mysql_error());
$zaiavka = "insert into `potrebiteli` (`ime`, `familia`, `potr_ime`, `parola`) VALUES ('$ime', '$familia', '$potr_ime', '$parola')" or die (mysql_error());
$sql = mysql_query($zaiavka) or die (mysql_error());
if($sql){
echo "Новият потребител $potr_ime е добавен!<br><a href=\"vhod.html\">Моля Логнете се!</a>";
}
}
?>

vhod.html:
Код:
<html>
<head>
</head>
<body>
<form action="vhod.php" method="POST">
<table cellspacing="0" cellpadding="0">
<tr><td>
Portrebitelsko ime:
<input type="text" name="potr_ime">
</td></tr>
<tr><td>
<br>
parola:                  
<input type="text" name="parola">
</td></tr>
<tr><td>
<input type="submit" value="vhod">
</td></tr>
</table>
</form>
</body>
</html>

vhod.php:
Код:
<?php
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$parola=htmlspecialchars($parola);
$potr_ime=htmlspecialchars($potr_ime);
$c = mysql_connect("localhost", "root", "parola") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$num = mysql_num_rows($sql);
if ($num != 0)
{
while($ar = mysql_fetch_array($sql)){
$sessionid=$ar[id-to];
$_SESSION['username'] = $sessionid;
echo "Здравей <b>$potr_ime</b>!";
}
elseif($num = 0){
echo "ГРЕШКА";
}
}
?>
 
Май без session_start() няма да стане.
Код:
<?php
session_start(); 
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$c = mysql_connect("localhost", "root", "парола") or die (mysql_error());
$c = mysql_select_db("dostyp",$c) or die(mysql_error());
$za = "select * from potrebiteli where potr_ime='$potr_ime' and parola='$parola'";
$sql = mysql_query($za);
$count=mysql_num_rows($sql);
if($count==1)
{ 
session_register("potr_ime");
session_register("parola");
$username = $_SESSION['potr_ime'];
echo ("Здравей <b>$username</b>!");
}
else {
echo ("greshka");
}
?>
 
ужас няма никаква защита :(
http://bg.php.net/manual/en/function.ereg.php
също трябва да започне sessiona ето ти регистрацията
Код:
<?php
if($_GET['reg'] == "reg"){
session_start();
if($_POST['submit']){
$ime = $_POST['ime'];
$familia = $_POST['familia'];
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$pass2=$_POST['parola2'];
if($ime == false && $familia == false && $potr_ime == false && $parola == false){
$err .= "<script>javascript:alert('molq popalnete vsi4ki poleta');</script>";
} else {
if($parola != $pass2){echo "dgd"; exit; }
$c = mysql_connect("localhost" ,"root" ,"парола") or die (mysql_error());
$c = mysql_select_db("dostyp", $c) or die(mysql_error());
$zaiavka = "insert into `potrebiteli` (`ime`, `familia`, `potr_ime`, `parola`) VALUES ('$ime', '$familia', '$potr_ime', '$parola')" or die (mysql_error());
$sql = mysql_query($zaiavka) or die (mysql_error());
if($sql){
$err .= "Новият потребител $potr_ime е добавен!<br><a href=\"vhod.html\">Моля Логнете се!</a>";
}
}
}
}
?>
<html>
<head>
</head>
<body>
<form action="?reg=reg" method="POST">
Ime:
<input type="text" name="ime"><br>
familia:
<input type="text" name="familia"><br>
potr ime:
<input type="text" name="potr_ime"><br>
pass:
<input type="text" name="parola"><br>
config pass:
<input type="text" name="parola2"><br>
<input type="submit" name="submit" value="jega">
</form>
<?php
echo $err;
?>
</body>
</html>
така ще започне сессиона айде пробвай са да се излезнеш от акаунта си ;)
 
hellfire той чете книга и пробва. Нека направи първо входа, а пък после ще научи и защитите.

ПП: Мисля, че в регистрацията няма нужда от session_start();
 
Galli каза:
hellfire той чете книга и пробва. Нека направи първо входа, а пък после ще научи и защитите.

Точно така.
 
hellfire каза:
ужас няма никаква защита :(
http://bg.php.net/manual/en/function.ereg.php
също трябва да започне sessiona ето ти регистрацията
Код:
<?php
if($_GET['reg'] == "reg"){
session_start();
if($_POST['submit']){
$ime = $_POST['ime'];
$familia = $_POST['familia'];
$potr_ime = $_POST['potr_ime'];
$parola = $_POST['parola'];
$pass2=$_POST['parola2'];
if($ime == false && $familia == false && $potr_ime == false && $parola == false){
$err .= "<script>javascript:alert('molq popalnete vsi4ki poleta');</script>";
} else {
if($parola != $pass2){echo "dgd"; exit; }
$c = mysql_connect("localhost" ,"root" ,"парола") or die (mysql_error());
$c = mysql_select_db("dostyp", $c) or die(mysql_error());
$zaiavka = "insert into `potrebiteli` (`ime`, `familia`, `potr_ime`, `parola`) VALUES ('$ime', '$familia', '$potr_ime', '$parola')" or die (mysql_error());
$sql = mysql_query($zaiavka) or die (mysql_error());
if($sql){
$err .= "Новият потребител $potr_ime е добавен!<br><a href="vhod.html">Моля Логнете се!</a>";
}
}
}
}
?>
<html>
<head>
</head>
<body>
<form action="?reg=reg" method="POST">
Ime:
<input type="text" name="ime"><br>
familia:
<input type="text" name="familia"><br>
potr ime:
<input type="text" name="potr_ime"><br>
pass:
<input type="text" name="parola"><br>
config pass:
<input type="text" name="parola2"><br>
<input type="submit" name="submit" value="jega">
</form>
<?php
echo $err;
?>
</body>
</html>
така ще започне сессиона айде пробвай са да се излезнеш от акаунта си ;)

Това ми е регистрацията на входа ми дава грешка :

Код:
Parse error: syntax error, unexpected T_ELSE in D:\web\reg\vhod.php on line 22
 

Back
Горе