2014-11-26 5 views
0

Я написал код PHP для вставки некоторой информации в мою базу данных. Забавно, что код работает на моем ПК с Windows на XAMPP (PHP 5.5.19), но на сервере Ubuntu (lamp-server, PHP 5.5.9) я получаю пустую страницу при ее запуске. Я не думаю, что это связано с разрешениями, потому что (через некоторое время) я просто установил его на CHMOD 777 из отчаянного. Я искал в течение нескольких часов (возможно, на неправильном термина, я не знаю, почему это не работает), но я не могу найти ответ.PHP-код не работает на сервере Ubuntu

<?php 
//includes 
include 'connect.php'; 
include 'salt.php'; 

if(isset($_POST['registerusername']) && isset($_POST['registerpassword']) && isset($_POST['registeremail'])){ 
    //escape strings 

    $username = mysqli_real_escape_string($con, $_POST['registerusername']); 
    $password = mysqli_real_escape_string($con, $_POST['registerpassword']); 
    $email = mysqli_real_escape_string($con, $_POST['registeremail']); 

    //check mail 
    $query = mysqli_query($con, "SELECT email FROM users WHERE email = '$email'")or die(mysqli_error($con)); 
    if(mysqli_num_rows($query) == 0){ 
     $num = 1; 
     //generate random number 
     while($num){ 
      $id = mt_rand(1000000000, 9999999999); 
      $query = mysqli_query($con, "SELECT ID FROM users WHERE ID = '$id'")or die(mysqli_error($con)); 
      $num = mysqli_num_rows($query); 
      echo $num; 
     } 
     //hash and salt password 
     $password = salt($username, $password, $email, date("YmD HiS")); 

     //insert in database 
     mysqli_query($con, "INSERT INTO users(username, password, registrationdate, email, active, ID) VALUES('$username', '$password',NOW(), '$email', '1', '$id')") or die(mysqli_error($con)); 

    } 
    else{ 
     //Mail already exist in database 
     header("Location: login.php?emailfail"); 
     die('Nomail'); 
    } 

} 
else{ 
    //fail or nothing inserted in form 
    header("Location: login.php?fail"); 
} 
?> 
+0

Есть отображать информацию о php и mysql на сервере LAMP? – Kash

ответ

0

Я просто хочу знать, что содержит файл. Если он содержит

<? instead of <?php 

это может быть проблемой, с

http://php.net/manual/fr/ini.core.php#ini.short-open-tag

Там может быть ваша проблема. Я не уверен на 100%, но это сработало для меня. Для более конкретной ошибки вместо белой страницы проверьте ini_set; С уважением;

0

Предоставленная вами информация недостаточна для обеспечения решения. Прежде всего, пожалуйста, следуйте нижеприведенным инструкциям и включите отчет об ошибках в файле php ini, после чего вы получите сообщение об ошибке, почему вы ничего не видите.

  1. Открыть php.ini файл, расположенный в "/etc/php5/apache2/php.ini" с помощью вашего любимого редактора.

  2. Найти и обновить следующие переменные: error_reporting = E_ALL. display_errors = Вкл.

Теперь запустите свою страницу, вы получите сообщение об ошибке, в чем проблема.

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