я новичек в 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>
тут всё не так. код надо оформлять в bbcode [ code=php ]. авторизация ≠ аутентификация — учи термины. addslashes это плохая защита от sql injection. регистр в header надо соблюдать. после header('Location...') надо ставить exit, а не выводить текст. где используется переменная $error ?
как я понимаю что если введен правельные username/pass то я должен увидеть welcome.php, но ничего не происходит. никаких ошибок в \apache\logs\error.log нет... я только пытаюсь понять как это работает, и до настоящих, защещенных и професиональных страниц мне еще далеко
ну так отлаживай! мы за тебя должны всё прогнать? включи полную информацию об ошибках error_reporting(-1); ini_set('display_errors', 'on'); выясни значение переменной — поставь перед использованием die(var_export($var, true)); выясни сработал ли if — поставь die('ololo'); внутри блока "если". иди занимайся и можешь не докладывать о результатах.
Выше session_start(); не подключайте никаких скриптов. Да и вообще почитайте мануал на php.net/manual/ru/