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.605
    Begyűjtött 1.332 köszönetet
    828 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.
    Github Rake tutorial
    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
  •