За последние 24 часа нас посетили 20694 программиста и 1130 роботов. Сейчас ищут 537 программистов ...

страница авторизации

Тема в разделе "MSSQL", создана пользователем tonyio, 15 авг 2012.

  1. tonyio

    tonyio Активный пользователь

    С нами с:
    14 авг 2012
    Сообщения:
    2
    Симпатии:
    0
    я новичек в php и sql
    пытаюсь разобраться как соорудить login page
    но из-за отсутсвия опыта не могу понять что тут не так.

    <?php
    include("config.php");
    session_start();
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
    // login and password sent from Form
    $mylogin=addslashes($_POST['login']);
    $mypassword=addslashes($_POST['password']);

    $sql="SELECT * FROM Security WHERE login='$mylogin' and password='$mypassword'";
    $result=mssql_query($sql);
    $row=mssql_fetch_array($result);
    $active=$row['active'];
    $count=mssql_num_rows($result);


    // If result matched $mylogin and $mypassword, table row must be 1 row
    if($count==1)
    {
    session_register("mylogin");
    $_SESSION['login_user']=$mylogin;

    header("location: welcome.php");
    }
    else
    {
    $error="Your Login Name or Password is invalid";
    }
    }
    ?>
    <form action="" method="post">
    <label>login :</label>
    <input type="text" name="login"/><br />
    <label>Password :</label>
    <input type="password" name="password"/><br/>
    <input type="submit" value=" Submit "/><br />
    </form>
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    тут все хорошо, проблема у тебя в чем?
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    [​IMG]

    тут всё не так.
    код надо оформлять в bbcode [ code=php ].
    авторизация аутентификация — учи термины.
    addslashes это плохая защита от sql injection.
    регистр в header надо соблюдать.
    после header('Location...') надо ставить exit, а не выводить текст.
    где используется переменная $error ?
     
  4. tonyio

    tonyio Активный пользователь

    С нами с:
    14 авг 2012
    Сообщения:
    2
    Симпатии:
    0
    как я понимаю что если введен правельные username/pass то я должен увидеть welcome.php, но ничего не происходит.
    никаких ошибок в \apache\logs\error.log нет...
    я только пытаюсь понять как это работает, и до настоящих, защещенных и професиональных страниц мне еще далеко
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    ну так отлаживай! мы за тебя должны всё прогнать?

    включи полную информацию об ошибках error_reporting(-1); ini_set('display_errors', 'on');
    выясни значение переменной — поставь перед использованием die(var_export($var, true));
    выясни сработал ли if — поставь die('ololo'); внутри блока "если".

    иди занимайся и можешь не докладывать о результатах.
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Выше session_start(); не подключайте никаких скриптов.
    Да и вообще почитайте мануал на php.net/manual/ru/