Mi benne a hiba?
Sziasztok, miért nem jó a regisztrációs/beléptető rendszerem?
Ez az oldal:http://phpteszt.site90.com/
kódok:
config.php:
<?php
session_start();
$felh = "kéne mi?:D";
$jelszo = "kéne mi?:D";
$base = "kéne mi?:D";
$host = "mysql4.000webhost.com";
$kapcs = mysql_connect( $host, $felh, $jelszo ) or die("mysql hiba");
$table = "szoveg";
mysql_select_db( $base, $kapcs ) or die("datebasehiba") ;
?>
regisztracio.php:
<?php
print "<table><tr><form method=post action='$php_self'>";
print "<td>Név:</td><td><input type=text name='nick'></td>";
print "<tr><td>Jelszó:</td><td><input type=password name='pass'></td></tr>";
print "<tr><td>Jelszó mégegyszer:</td><td><input type=password name='pass2'></td></tr>";
print "<td>E-mail cím:</td><td><input type=text name='mail'><br></td></tr>";
print "<td><br></td><td><input type=submit value=regisztrál></form></td></tr>";
include("config.php");
$parancs01 = mysql_query("create table nickek(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nev varchar(20), jelszo varchar(50), mail varchar(40))");
$ellenoriz = mysql_query("select nev from nickek where nev = '$nick'");
$ellenoriz2 = mysql_query("select mail from nickek where mail = '$mail'");
$szam = mysql_num_rows($ellenoriz);
$szam2 = mysql_num_rows($ellenoriz2);
if ($nick == "" && $pass == "" && $pass2 == "" && $mail == "" )
{
}
else
{
if ($pass != "" && $pass2 != "" && $pass != $pass2 )
{
print "<font color=red><b>Hiba:</b> Nem egyezik meg a 2 jelszó!</font>";
}
else
{
if ($szam == 0 )
{
if ($szam2 == 0 )
{
if ( $nick != "" )
{
if ( $pass != "" )
{
if ( $mail != "" )
{
$parancs02 = mysql_query("insert into nickek (nev, jelszo, mail) values ('$nick', '$pass', '$mail')");
print "<font color=green><b>Sikeres Regisztráció!</b> Adataidat sikeresen felvettük az adatbázisba</font>";
}
else
{
print "<font color=red><b>Hiba:</b> Nem adtál meg e-mail címet</font>";
}
}
else
{
print "<font color=red><b>Hiba:</b> Nem adtál meg jelszót</font>";
}
}
else
{
print "<font color=red><b>Hiba:</b> Nem adtál meg nevet</font>";
}
}
else
{
print "<font color=red><b>Hiba:</b> Erről az E-mail címről már regisztáltak!</font>";
}
}
else
{
print "<font color=red><b>Hiba:</b> Ez már egy regisztrált felhasználónév</font>";
}
}
}
?>
login.php:
<?php session_start(); ?>
<html><body>
<?php
if (isset($kilep))
{
session_unset();
session_destroy();
}
if (isset($_SESSION["nev"]))
{
print "Sikeres bejelentkezés!<br>Üdvözöllek: <b>$nev</b>";
print "<br><a href='" .$PHP_SELF ."?kilep='''>kilépek!</a>";
}
else
{
if ( isset($_POST["neved"] ) )
{
include("config.php");
$nev = $_POST["neved"];
$pass = $_POST["passod"];
$parancs = mysql_query("SELECT nev, jelszo from nickek where nev = '$nev' and jelszo = '$pass'");
$eredm = mysql_num_rows($parancs);
if ($eredm==1)
{
session_register( "nev" );
session_register( "pass" );
}
}
else
{
print "<table><form action=".$PHP_SELF." method=post>
<tr><td>Login név:</td></tr><tr><td><input type=text name='neved' size=17></td></tr>
<tr><td>Jelszó:</td></tr><tr><td><input type=password name='passod' size=17></td></tr>
<tr><td><input type=submit value=Belép></td></tr></table><br><center><small><a href=regisztracio.php>Regisztráció</a></center></small>";
}
if (isset($_POST["neved"]) && $eredm==0)
{
print "Rossz felhasználónév, vagy jelszó!<br>";
print "<table><form action=".$PHP_SELF." method=post>
<tr><td>Login név:</td></tr><tr><td><input type=text name='neved' size=17></td></tr>
<tr><td>Jelszó:</td></tr><tr><td><input type=password name='passod' size=17></td></tr>
<tr><td><input type=submit value=Belép></td></tr></table><br><center><small><a href=regisztracio.php>Regisztráció</a></center></small>";
}
elseif (isset($_POST["neved"]) && $eredm==1)
{
print "Sikeres bejelentkezés!<br>Kérlek <a href=" .$PHP_SELF .">frissíts</a>!";
}
}
?>
Így elsőre tán az, hogy a parancs 01-ban táblát akarsz létrehozni, általában táblában tároljuk az adatokat.
Helyette Insert Into parancs
Ja, a tábla létrehozást nem minden regisztrációkor kéne elvégezni. Az a parancs legyen inkább egy install.php-ben, elég csak egyszer lefuttatni.
És valóban, egy INSERT INTO-t nem ártana beletenni, ha el akarod tárolni a júzereket. :)
Illetve a kódod esetleg feldobhatnád pastebin-re vagy hasonlóra, mert így nehezen átlátható a féltucat egymásba ágyazott if-ed. Egyébként ezeket érdemes lehet átszervezni, hogy te is jobban átlásd.
Valamint azt is leírhatnád, mi a hibajelenség, úgy mindenkinek könnyebb megtalálni.
Sziasztok,
Köszönöm a válaszokat.
Hiba üzenet nincs,csak szimplán nem jó.
és igazítsd meg a kódokat, pl több helyen van, hogy if(isset($_POST["neved"])) ->
if(isset($_POST["neved"])){
if(isset($eredm)){
if($eredm==0){ //rossz fh }else if($eredm==1){ //sikeres belépés }
}else{
//itt a bejelentkezés
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!