Jump to content
GSForum - Segélyvonal

Beléptetõ script probléma....


ZsoltiD

Recommended Posts

ZsoltiD

Sziasztok!

 

Újabb problémám van :S .

Az a bajom hogy az oldalamon van egy beléptető script (http://www.zsocccer.extra.hu)

Ott a visitors-nál ha beléptek (regiztem egy próba jelszót és fh nevet- fh:proba pass:proba), és lépkedtek a menük között, akkor van, mikor csak úgy meggondolja magát, és hopp, újra a belépésnél találod magad. És ebben az az érdekes, hogy csak ritkán csinálja ezt, legtöbbször működik rendesen, de már többször panaszkodtak a beregisztrált tagok, hogy volt náluk ez az eset. (Amúgy van olyan is, hogy kiírja hogy jelentkezz be, de az a hosszú inaktivitás miatt van, szóval nem ez a prob, mert itt nem ír ki semmit csak újra a bejelentkező oldalra tesz)

Egyébként msql-t használ a progi.

 

A rendszer 3 fájlt használ: belepo.php, belepo_ellenorzes.php és function.php.

 

A belepo és persze az összes fájl elején van ez a kód:

 

<?php 
session_start();
if(isset($_SESSION["engedely"]) AND ($_SESSION["engedely"]=="false") ) {
print("");
}

 

 

Aztán még a belepo.php-ben?

 

<form name="form1" id="form1" method="post" action="belepo_ellenorzes.php">
  <table width="280" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td scope="col">
       <div align="left">
<b>Felhasználónév:</b></div>
</td>
   <th scope="col">
<div align="left">
<input name="username" type="text" id="username" /></div>
                    </th>
    </tr>
    <tr>
      <td>
<div align="left">
<b>Jelszó:</b></div>
      <td>
<div align="left">
<input name="password" type="password" id="password" /></div>
</td>
    </tr>
    <tr>
      <td> </td>
      <td><b><input type="submit" name="Submit" value="Belépés" /></b></td>
    </tr>
  </table>
</form>

 

A belepo_ellenorzes.php-ben a következok szerepelnek:

<?php 
session_start();
require_once("function.php");
$username=trim($_POST["username"]);
$password=md5(trim($_POST["password"]));
//Adatb?zis megny?t?sa
$myConn=mysql_connect("zsocccer.extra.sql", "ezt nem mondom meg", "ezt sem");
  mysql_select_db("adatb_nev", $myConn);//database_name ?ltal?ban az username!
//Ellenorizz?k van e m?r ilyen username az adatb?zisban.
$ellenorzes=mysql_query("SELECT username FROM regisztracio WHERE username='".tep_db_input($username)."' and password='".tep_db_input($password)."' ");
if(mysql_num_rows($ellenorzes)>=1) {
$_SESSION["ok"]="true";
header("Location: http://zsocccer.extra.hu/visitor.php");
exit;
} else {
//Sajnos nincs ilyen az adatb?zisban
$_SESSION["engedely"]="false";
header("Location: belepono.php");
exit;
}
?>

 

 

És végül a function.php -ben szereplő adatok:

 

<?php
function tep_db_input($string) {
    if (function_exists('mysql_real_escape_string')) {
      return mysql_real_escape_string($string);
    } elseif (function_exists('mysql_escape_string')) {
      return mysql_escape_string($string);
    }

    return addslashes($string);
}
?>

 

Szerintetek mi a probléma (azt hozzáteszem hogy csak néha rosszalkodik...!!)?

 

Üdv.

ZsoltiD

Link to comment
Share on other sites

Greene

A Session-re gyanakszom, mert elég érdekesen van megírva. Például nincs session_destroy(), ha mondjuk nem jó a felhasználónév. Te meg egyszerűen false-ra állítod a sessiont amit aztán mindig megvizsgálsz, hogy létezik-e és ha igen akkor mindemellett false-e az értéke. Miért nem törlöd a sessiont, és akkor csak annyit kell ellenőrizned, hogy van-e session változó, mert ha van akkor sikerült bejelentkeznie. De ehhez nem kell 2 féle session változó, külön "ok" meg "engedély".

 

Engem a letöltés menünél dobott ki (minden almenü), de miután bejelentkeztem megint akkor nem. Azt is megnézhetnéd esetleg.

Link to comment
Share on other sites

ZsoltiD

Hi!

 

Az a baj, hogy én még nem nagyon vágom a php-t. :(

Le tudnád írni, hogy Te pontosan hogy javítanál rajta?

 

Előre is köszi!

ZsoltiD

 

 

ui.:

De kezdem azt hinni, hogy a szerver szaraxik, mert van egy másfajta beléptető is az oldalon és az is ezt csinálja mostanában, és az nem is mysql-es...

Link to comment
Share on other sites

  • 1 month later...
Oke

Megírtam a beléptetõ rendszerem (regisztrációt is), de nem tudom, hogy hogyan tudjam a táblából lekérdezni a belépésnél, hogy érvényes-e a felhasználó név és a jelszó. Segítenétek? :upsz:

Link to comment
Share on other sites

level

<?php

//belépés, adatok ellenõrzése
if (isset ($_REQUEST['nev']))
{     
   $jelszo = md5($_REQUEST['jelszo']);
   $nev = $_REQUEST['nev'];
        
   //kapcsolódunk
   require_once('../adatbazis.inc');
   adatbazis_megnyitasa();
    
   //megkeressük a felhasználót és a jelszót
   $azonositas = mysql_query("SELECT jelszo FROM regisztracio WHERE nev = '$nev'")
     or die ("Nem lehet ellenõrizni a regisztrációt.");
   
   //összehasonlítjuk az adatbázisban lévõ jelszóval
   while ($sor = mysql_fetch_array($azonositas))
    {  
    if ($sor['jelszo'] === $jelszo)
       {
        $i= setcookie ("belepve", $nev, time() + (60*60*24), "/");
    
        header("location: ../atiranyitjuk.php");
        
        break;
       }
    }
   
   //ha nem egyezik a jelszó, vagy nincs ilyen felhasználó az adatbázisban (nem jött létre a süti)
   if (!isset ($i))  
   {
    print "Hibás felhasználói név vagy jelszó!";
   }
   
   //töröljük az átmeneti adattárolóból  
   mysql_free_result($azonositas); 
      
   //bezárjuk
   mysql_close();
       
}

 

Biztosan át kell írnod, de talán segít valamit.

Link to comment
Share on other sites

  • 2 weeks later...
ZsoltiD

Köszi,

megoldódott a probléma...

 

Üdv.:

ZsoltiD

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...