ugrás a tartalomhoz

Bejelentkezés regisztrációval

mag22 · 2009. Jún. 18. (Cs), 18.18
Kérdésem, hogy van egy bejelentkezés oldalam. Én azt akarom, hogy csak regisztráció után lehessen belépni az oldalra. ugyanis az a problémám hogy felhasználónév és jelszó nélkül is be lehet lépni az oldalamra. segítsen valaki!
 
1

belépés vs regisztráció?

gex · 2009. Jún. 18. (Cs), 18.32
van egy bejelentkezés oldalam
a problémám hogy felhasználónév és jelszó nélkül is be lehet lépni az oldalamra
tehát van egy rosszul működő belépés oldalad amit a regisztrációval akarsz megjavítani? ezt jól értem?
2

Itt a forráskód

mag22 · 2009. Jún. 18. (Cs), 18.46
REGISZTRÁCIÓ KÓD:

<?php
  //Adatok átvétele az űrlapról
   $nev = $_POST['nev'];
   $_SESSION['felh_nev']= $felh_nev = $_POST['felh_nev'];
   $email = $_POST['email'];
   $pass = $_POST['pass'];
   $passism = $_POST['passism'];
   //Ellenőrzés - minden mező ki van-e töltve?
  if ($_POST['regiszt'] == "Regisztrálok!") {
  if (empty($nev) ||  empty($felh_nev) || empty($email) || 
      empty($pass) || empty($passism)){
       print "<font color='#FF0000'><h2>Minden mező kitöltése kötelező!</h2></font>";
      } 
  else if ($pass != $passism){
      print "<font color='#FF0000'><h2>Nem egyezik meg a két jelszó!</h2></font>";
      }
  else {
     include ("kapcsolodas.php");
     include("ellenorzes.php");
     } 
}
  
?>
<html>
 <head><title>Regisztráció</title>
  <link rel="stylesheet" href="forma.css" type="text/css">
 </head>
 <body>
  <h2><font size="4">Regisztrációs adatok</font></h2>
  <table>
  <form method="POST" action="<?php print $_SERVER['PHP_SELF'] ?>">
   <tr>
        <td>Teljes neved:</td><td><input type="text" name="nev" size=25></td>
     </tr><tr>
             <td>Email:</td><td><input type="text" name="email" size=25></td> 
    </tr><tr>    
              <td>Felhasználónév:</td><td><input type="text" name="felh_nev" size=25></td>
   </tr><tr>
            <td>Jelszó:</td><td><input type="password" name="pass" size=15></td>
   </tr><tr>
            <td>Jelszó ismét:</td><td><input type="password" name="passism" size=15></td>
   </tr><tr>
            <td><input type="submit" name="regiszt" value="Regisztrálok!"></td> 
  </form>
 </body>
</html>


EZ A BELÉPÉS ELLENŐRZÉSE:

<?php
 session_start();
if (($_POST['OK']=="Belép")){ 
$_SESSION['felhasznalonev'] = $_POST['felhasznalonev'];
$_SESSION['jelszo'] = $_POST['jelszo'];
 } 
 $felhaszn = $_SESSION['felhasznalonev'];
 $jelszo = $_SESSION['jelszo'];
 
 
 //bejelentkezés ell.
 include("kapcsolodas.php");
 $vane = "SELECT * FROM felhasznalok WHERE Felhasználónév = '$felhaszn'"; 
 $eredmeny = mysql_query($vane) or die("<font color='#FF0000'><h2>Nincs ilyen felhasználó! Regisztrálj!</h2></font>"); 
 //while
  $sor2 = mysql_fetch_row($eredmeny);
      $adatokvissza[0]=$sor2[0]; //jelszo
      $adatokvissza[1]=$sor2[1]; //teljes neve
      $adatokvissza[2]=$sor2[2]; //e-mail cím
echo "<h2>Üdvözöllek! $sor2[1]</h2>"; 
 mysql_close();
$_SESSION['name']=$adatokvissza[1];
 $_SESSION['email']=$adatokvissza[2];
  if ($_SESSION['jelszo'] == $adatokvissza[0] )/* && $_SESSION['felhasznalonev'] == $adatokvissza[1])*/ { 

   
    //Ide jön az User felület...
    include("user.php");
    
  }else {
  print "<font color='#FF0000'><h2>Sikertelen bejelentkezés! A felhasználónév vagy a jelszó nem egyezik!</h2></font>";
  print "<br><a href='index.htm'>Vissza a bejelentkezéshez...</a>";
 }
 
?>
szóval csak ugy tudjon belépni,hogyha regisztrál!
3

De hol akadtál el? Mi nem

Török Gábor · 2009. Jún. 19. (P), 11.40
De hol akadtál el? Mi nem működik úgy, ahogy te szeretnéd? Kapsz esetleg hibaüzenetet?
4

Be lehet lépni úgy,hogy nincs

mag22 · 2009. Jún. 19. (P), 14.57
Be lehet lépni úgy,hogy nincs kitöltve a felhasználónév és jelszó.meg a belépes ellenörzésénél egyből az user felületre vált.Olyan feltételt akarok,hogy csak regisztráció után lehessen belépni.
5

A megoldásban

janoszen · 2009. Jún. 19. (P), 15.46
A megoldásban mi az, amivel nem jutsz tovább? Nyilván volt egy gondolatmeneted, ami nem stimmel. Ezt írd le.
6

Még infót!

a.d.a.m · 2009. Jún. 19. (P), 17.03
milyen adatokat tartalmaznak a $_SESSION, $adatokvissza tömbök, próbáltad kiíratni őket a hibakeresésnél? Egyeznek?
Végignézted lépésenként, hogy hol bukik el a kódod? Sikeres-e az adatbázis lekérdezés, ad-e vissza sort, csak egy sort ad vissza (ahogy láttam a kódban nincs lekezelve, ha több azonos felhasználónév szerepel az adatbázisban)? Vannak hibaüzenetek?

Ami írtál
Be lehet lépni úgy, hogy nincs kitöltve a felhasználónév és jelszó
nem véletlenül azért van, mert nem ellenőrzöd (sem felhasználói, sem kiszolgálói oldalon), hogy van-e adat a kérdéses mezőkben (pedig a másik kódban ott van:
if (empty($nev) || empty($felh_nev) || empty($email) || empty($pass) || empty($passism))
)?
7

Úgy akartam,hogy legyen egy

mag22 · 2009. Jún. 19. (P), 17.22
Úgy akartam,hogy legyen egy belépés oldal de regisztráció kötelező legyen, csak ugy lehessen belépni az oldalra.De csak user felületet csináltam és nem akarok admint csinálni.Nincs is időm rá.
8

session

csman007 · 2009. Jún. 20. (Szo), 00.07
nagyon egyszerű a megoldás, éppen ilyet csináltam :).
Szóval először is amikor regisztrálsz egy felhasználot automatikusan kap egy id-t (remélem) auto incrementtel. ha igen akkor mysqlből kiolvasod az adatokat az id-t letárolod egy session-ben.
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
utána a bejelentkező oldalon a köv kóddal dolgozol:
<?php if (!isset($_SESSION['SESS_MEMBER_ID'])) {
 	echo "<form id=\"loginForm\" name=\"loginForm\" method=\"post\" action=\"files/log_ok.php\">
     
    <div class=\"form-row\">Felhasználónév<br />
      <input name=\"login\" type=\"text\" size=15 class=\"required\" id=\"login\" /></div>
    
      <div class=\"form-row\">Jelszó<br />
      <input name=\"password\" type=\"password\" size=15 class=\"required\" id=\"password\" /></div>
    
   <input type=\"submit\" name=\"Submit\" value=\"Belépés\" /> 
</form>";
} 

else {
	print ("<br /><center>".$_SESSION['SESS_V_NEV']." ".$_SESSION['SESS_K_NEV']."</center><br />");
	echo "<center><a href=\"files/kilepes.php\">Profil</a> | <a href=\"files/kilepes.php\">Logout</a></center>";
}

?>
ez csak egy példa természetesen amit én használtam de a lényeg, hogy leellenörzöd, hogy van e felhasználónév vagy id vagy email és isset-tel megnézed létezik-e, ha nincs akkor marad a belépő oldalon különben átirányítod a felhasználót a védett oldalra.
Ugyanezt meg kell csinálnod a védett oldalon is, hogy leellenörzöd a hogy létezik-e a session ha igen akkor az oldalon marad ha nem vissza beléptetésre.

gondolom a kiléptetés az megy
9

Köszi az infókat mindenkinek!

mag22 · 2009. Jún. 20. (Szo), 13.59
Köszi az infókat mindenkinek!
10

szia session !!!!!

baluka78 · 2009. Jún. 24. (Sze), 13.59
Szia session !!!

Ugy látom te nagyon képbe vagy a dolgokkal szeretnék én is egy olyat mind "mag22" olyasmit hogy csak egy sima regisztrációt az oldalamra minden müködjön ugy ahogy van csak hogy lássam kik regisztrátak hogy tudjak nekik leveleket küldeni.Ez az oldlal egy Erdélyi kis falucsájé a linkje pedig www.doba.home.ro

Előre is köci Baluka78