@Damir9999
попытки стать php-разработчиком

Здравствуйте! На хосте fornex php сервер не передает данные в БД, хотя на локалке все работало отлично. Как это исправить?

<?php

// $nameSurname1 = $_POST["nameSurname1"];
// $nameSurname2 = $_POST["nameSurname2"];
// echo "$nameSurname1, $nameSurname2";

$browser = $_POST["browser"];
$nameSurname1 = filter_var(trim($_POST['nameSurname1']), FILTER_SANITIZE_STRING); 
$nameSurname2 = filter_var(trim($_POST['nameSurname2']), FILTER_SANITIZE_STRING);

$email1 = filter_var(trim($_POST['email1']), FILTER_SANITIZE_STRING);  
$email2 = filter_var(trim($_POST['email2']), FILTER_SANITIZE_STRING); 

$beverages1 = $_POST['beverages1'];
$item1 =  implode(", ", $beverages1);
$dishes1 = $_POST['dishes1'];
$eat1 = implode(", ", $dishes1);


$mysql = new mysqli("d125440.hostru09.fornex.host", "d125440", "*******", "d125440_ae");

if ($browser == "приду") {
    $mysql->query("INSERT INTO `users` (`name`,`email`, `browser`, `beverages`, `dishes`) VALUES('$nameSurname1', '$email1', '$browser', '$item1', '$eat1')");
} elseif ($browser == "мы придем"){

    $beverages2 = $_POST['beverages2'];
    $item2 =  implode(", ", $beverages2);

    $dishes2 = $_POST['dishes2'];
    $eat2 = implode(", ", $dishes2);
    $mysql->query("INSERT INTO `users` (`name`,`email`, `browser`, `beverages`, `dishes`) VALUES('$nameSurname1', '$email1', '$browser', '$item1', '$eat1')");
    $mysql->query("INSERT INTO `users` (`name`,`email`, `browser`, `beverages`, `dishes`) VALUES('$nameSurname2', '$email2', '$browser', '$item2', '$eat2')");
} else {
    $mysql->query("INSERT INTO `users` (`name`,`email`, `browser`, `beverages`, `dishes`) VALUES('$nameSurname', '$email1', '$browser', '$item1', '$eat1')");
}
header("Location: /");
?>

663cbf02160d7113508274.jpeg
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Чтобы попытаться стать РНР разработчиком (а не бабкой-гадалкой из соседнего ответа), надо открыть для себя волшебный мир отладки.
И для начала научиться получать от РНР сообщения об ошибках.
Во-первых, надо убедиться, что никакие ошибки не подавляются. Для этого в коде всегда должна быть строчка

error_reporting(E_ALL);

В-вторых, если для работы с БД используется mysqli, то не лишне добавить настройку ошибок и для неё.
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

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

ini_set('display_errors',1);

На боевом - наоборот, выключаем вывод на экран и включаем вывод в лог
ini_set('display_errors', 0);
ini_set('log_errors', 1);

После этого запускаем свой код и смотрим, что написано в сообщении об ошибке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
На скриншоте у вас данные для подключения к ssh и ftp, а это к базе данных не имеет никакого отношения. Вполне возможно, что для подключения к базе данных у вас нужно указывать localhost и другие логин/пароль.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы