Eredmény: 1 - 2 (2) összesen

Téma: Bejelentkezés probléma

  1. #1
    Új tag
    Csatlakozott
    19-08-10
    Hozzászólás
    1
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Bejelentkezés probléma

    Üdv!
    Bejelentkezés űrlapnál feltételesen íratom ki a form action-ját . Ezzel
    semmi probléma mert ha a feltételnek megfelelt akkor ki is írja az
    adott oldal nevét pl valami.php. Ugye bár az inputba bevitt jelszó és
    felhasználónév összehasonlításra kerül az adatbázisban és ha egyezik
    akkor engedi át a következő oldalra (persze ha nem felel meg akkor
    természetesen nem megy semerre). Ezekkel eddig semmi gond. Na de a 2
    együtt. Úgy akarom megoldani hogy ha a jelszó meg a felhasználó stimmel
    akkor dobja át az adott oldalra. Hozzáteszem nem mindegyik
    felhasználóhoz tartozik ugyan az az oldal szóval ezért csináltam if-es
    form action""-t. A probléma a következő: Mivel a submit lenyomásakor még
    nem tudja hogy melyik oldalra menjen(küldje $_post-al az adatokat)
    (mivel a form action"<?php echo $action?>" ) még null értékü.
    Szóval ha a jelszó és a felhasználó egyezik akkor válik a $action =
    "valami.php"-re.De nem navigált semerre, nem is ment a valami.php-ra
    mert a jelszó és a felhasználó beírása tán a submit lenyomásakor az
    $action még NULL-értékü. Vagyis visszadob ugyan oda és tökmindeggy hogy
    milyen nevet és jelszót adok meg lehet az bármi mert nem fog ellenőrizni
    semmit(mert ekkor a $action = "valami.php" ). Így akkor is át enged ha
    olyan jelszóval lépek be ami nem is létezik az adatbázisban. Elvileg igy
    is lehet


    header('Location: valami.php?user='.$name); .
    De ezzel az a probléma hogy csak $_GET-el lehet elkapni ($_POSTAL már próbáltam,
    nem megy)így fent kiírja a felhasználót és a jelszót URL-nél;
    Szóval hogy lehetne ezt


    Pl:


    $action = NULL;
    if(isset($_POST['subm']))
    {



    if(isset($_POST['name']) && !empty($_POST['name']) && isset($_POST['passw']) && !empty($_POST['passw']) )
    {

    $name =$_POST['name'];
    $passw =$_POST['passw'];

    //adatbázisos dolgok(itt vizsgáljuk a jelszót és a felhasználót)

    if($result > 0)
    {
    $action = "valami.php";

    }
    if($result1 >0)
    {
    $action = "masik.php";

    }
    if($result6 > 0)
    {
    $action = "naez.php";

    }

    }

    }
    ?>

    //HTML
    //az action-ban echo-zom a változót.
    <form action="<?php echo $action; ?>" method="post">

    <input type="text" name="name" >

    <input type="password" name="passw" >

    <input type="submit" name="subm" value="belépés">
    </form>



  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.749
    Begyűjtött 1.432 köszönetet
    895 hozzászólásával

    Alapbeállítás re: Bejelentkezés probléma

    Rosszul kozelited meg a problemat szerintem. Amit neked csinalni kellene, hogy ellenorzod az nevet es a jelszot, majd ha az stimmel, akkor a feltelek alapjan iranyitod at a felhasznalok. A form action-je pedig mindig ugyanaz, ott teszed meg az elobbieket.


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •