2013-06-28 4 views
-3

Я новичок в php, и мне нужна помощь с этим кодом, потому что я получаю «HTTP-fout 500 (Internal Server Error):« когда я пытаюсь загрузить его. Может ли кто-нибудь опубликовать весь хороший код. Благодарю.php login сценарий не может быть загружен

<?php 
session_start(); 


if(empty($_POST['username']) || empty($_POST['password'])) { 
$notifications[] = 'Login failed! Please provide a username and password.'; 
    } 

    if(count($notifications) == 0) { 
try { 
    $dbh = new PDO('mysql:dbname=####;host=####', 
'####', '####'); 

    $sql = "SELECT username, verified FROM users WHERE username = :username AND  
password = :password"; 
    $sth = $dbh->prepare($sql); 
    $sth->execute(array(
     ':username' => $_POST['username'], 
     ':password' => md5($_POST['password']) 
    )); 

    $result = $sth->fetch(PDO::FETCH_ASSOC); 

    if($result) { 
     // Set session details and redirect user to members page 
     session_regenerate_id(); 
    $_SESSION['username']=':username'; 
    $_SESSION['password']=':password'; 

     header('Location: index.php'); 
    } else { 
     $notifications[] = "Username or Password incorrect."; 
    } 
    ?> 
+0

вы можете захотеть пустыми из ваших данных для входа базы данных ... – Novocaine

+0

На первый взгляд , у вас есть блок try без блока catch. Вы пытались запустить php -l <имя вашего скрипта> из командной строки? Это скажет вам, есть ли ошибки анализа. – dethtron5000

+0

Пожалуйста, поделитесь с нами любым количеством проблем, которые вы сделали до сих пор, чтобы у нас было меньше догадок. Первым шагом является поиск места, где происходит ошибка (какая строка). – RandomSeed

ответ

0

Вам не хватает нескольких фигурных скобок. Не уверен, что это причина вашей проблемы, но попробуйте это. Третья и четвертая строки добавлены настройки отчетов об ошибках для отображения на текущей странице вместо входа его в файл/системный журнал/и т.д.

<?php 
session_start(); 
ini_set('display_errors', true); 
error_reporting(E_ALL); 

if(empty($_POST['username']) || empty($_POST['password'])) { 
    $notifications[] = 'Login failed! Please provide a username and password.'; 
} 

if(count($notifications) == 0) { 
    try { 
     $dbh = new PDO('mysql:dbname=####;host=####','####', '####'); 
     $sql = "SELECT username, verified FROM users WHERE username = :username AND password = :password"; 
     $sth = $dbh->prepare($sql); 
     $sth->execute(array(
      ':username' => $_POST['username'], 
      ':password' => md5($_POST['password']) 
     )); 

     $result = $sth->fetch(PDO::FETCH_ASSOC); 

     if($result) { 
      session_regenerate_id(); 
      $_SESSION['username']=':username'; 
      $_SESSION['password']=':password'; 

      header('Location: index.php'); 
     } else { 
      $notifications[] = "Username or Password incorrect."; 
     } 
    } 
} 
?> 
+0

Я все еще получаю ошибку 500 –

0

Используйте следующее в верхней части сценария, ваша страница будет отображать всю информацию о том, что пошло не так =)

с этой информацией другими может помочь вам более легко, и это поможет вам чтобы узнать/найти ошибки

ini_set('display_errors', true); 
error_reporting(-1); 
+0

Где я могу увидеть ошибки? –

+0

На странице self =) вместо сообщения 500 вы получите страницу с некоторыми сведениями об ошибке. –

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