2013-10-02 2 views
0

Форма:

<form action="/HW2/controllers/login.php" id = "login-box" method = "post"> 
     Username: <input type="text" name='user'><br> 
     Password: <input type="text" name='pwd'><br> 
     <input type="submit"> 
    </form> 

Действие: "Данные Сообщение не отправлено"

<?php 
require("../config/config.php"); 
if(isset($_POST['user']) && isset($_POST['pwd'])){ 
    if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
     PASSWORD) == 0){ 
     session_start(); 
     $_SESSION['logon'] = true; 
     echo "success"; 
     //header("location: /HW2/index.php?view=loggedin"); 
    }else{ 
     print_r("Sorry, your username and/or password are invalid. Try Again?"); 
     //header("location: /HW2/index.php?view=loginPage"); 
     } 
}else{ 
    print_r("Post data not sent."); 
} 
?> 

Я пробовал многочисленные различные подходы и все результат (так называемый " Неопределенный индекс: «если я пытаюсь получить доступ к значениям $ _POST». Я пытался найти то, что я испортил в течение нескольких часов, всякая помощь приветствуется, я полный скраб на php, скорее всего, это нечто невероятно простое и глупое ,

Заранее благодарен!

+0

вы должны выполнить сеанс перед включением файла config.php. – tinybyte

+0

Ваша форма работает для меня. Возможно, что-то не так в config.php. Попробуйте удалить его и var_dump ($ _ POST) до 'if'; – user4035

+0

В стороне, кажется, вы сохраняете незашифрованный пароль локально (в вашей постоянной ПАРОЛЬ). Вы не должны иметь доступ к незашифрованному паролю пользователя, если хотите сделать безопасное приложение. –

ответ

0

Я думаю, что нет необходимости использовать последний "еще"

использовать только

if(isset($_POST['user']) && isset($_POST['pwd'])){ 
if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
    PASSWORD) == 0){ 
    session_start(); 
    $_SESSION['logon'] = true; 
    echo "success"; 
    //header("location: /HW2/index.php?view=loggedin"); 
}else{ 
    print_r("Sorry, your username and/or password are invalid. Try Again?"); 
    //header("location: /HW2/index.php?view=loginPage"); 
    } 

}

0
<?php 
error_reporting(E_ALL^E_NOTICE); 

require("../config/config.php"); 
if(isset($_POST['user']) && isset($_POST['pwd'])){ 
    if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
     PASSWORD) == 0){ 
     session_start(); 
     $_SESSION['logon'] = true; 
     echo "success"; 
     //header("location: /HW2/index.php?view=loggedin"); 
    }else{ 
     print_r("Sorry, your username and/or password are invalid. Try Again?"); 
     //header("location: /HW2/index.php?view=loginPage"); 
     } 
}else{ 
    print_r("Post data not sent."); 
} 
?> 

error_reporting (E_ALL^​​E_NOTICE); показывает ошибку, но скрывает уведомления. Неопределенный индекс показывает, что переменная $ _POST была вызвана без значения, поэтому это первый вариант. Второй вариант - пересмотреть код.

Вид:

<form action="/HW2/controllers/login.php" id = "login-box" method = "post"> 
     Username: <input type="text" name='user'><br> 
     Password: <input type="text" name='pwd'><br> 
     <input type="submit" name = "submit" value = "Submit"> 
    </form> 

Php код:

<?php 
require("../config/config.php"); 
if(isset($_POST['submit'])){ 
    if(strcmp($_POST['user'], USERNAME) == 0 && strcmp($_POST['pwd'], 
     PASSWORD) == 0){ 
     session_start(); 
     $_SESSION['logon'] = true; 
     echo "success"; 
     //header("location: /HW2/index.php?view=loggedin"); 
    }else{ 
     print_r("Sorry, your username and/or password are invalid. Try Again?"); 
     //header("location: /HW2/index.php?view=loginPage"); 
     } 
}else{ 
    print_r("Post data not sent."); 
}?> 
0

Эй спасибо за ваши ответы каждого, получается, что мой код работает нормально, после того, как я перезагрузил компьютер и вздремнул.

Мое предположение заключалось в том, что либо хром, либо apache неправильно понимали переменные $ _POST, но я не очень опытный, поэтому я просто spitballing. В любом случае мой код делает то, что я хочу сейчас.

Спасибо за помощь в любом случае!

Смежные вопросы