Доброго времени суток. Такой вопрос, написал функцию отправки данных на email, на Denwer'e все работает а вот когда закачал на хостинг письмо на емайл не приходит. Хостинги 500mb и timeweb пробный период. Такой вопрос: на хостинге не работает отправка писем, или в коде ошибка? Если и за хостинга посоветуйте пожалуйста бесплатный хостинг для тестирования PHP, MySQL и отправка писем. Вот код: Код (Text): <!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="../css/style.css"> <title>Космические пришельцы похищали меня - сообщение о похищении</title> </head> <body> <h4 id="Successeful">Сообщение успешно отправленно.</h4> <?php $name = $_POST['firstName'] . ' ' . $_POST['lastName']; $email = $_POST['eMail']; $whan_it_happened = $_POST['whanItHappened']; $how_long = $_POST['howLong']; $how_many = $_POST['howMany']; $alien_description = $_POST['alienDescription']; $what_the_did = $_POST['whatTheyDid']; $fang_spotted = $_POST['fangSpotted']; $other = $_POST['other']; $to = 'EncoderG@yandex.ru'; $subject = 'Космические пришельцы похищяли меня - сообщение о похищении.'; $msg = "$name был похищен $whan_it_happened, и отсуствовал $how_long.\n" . "Количество космических пришельцев: $how_many.\n" . "Описание космических пришельцов: $alien_description.\n" . "Что они делали? $what_the_did.\n" . "Фэнг замечен? $fang_spotted.\n" . "Дополнительная информация: $other"; mail ($to, $subject, $msg, 'From: ' . $email); echo 'Спасибо за заполнение формы. <br>'; echo 'Вы были похищены ' . $whan_it_happened . ', и отсуствовали ' . $how_long . '.<br>'; echo 'Количество космических пришельцев: ' . $how_many . '<br>'; echo 'Опишите их: ' . $alien_description . '<br>'; echo 'Что они делали: ' . $what_the_did . '<br>'; echo 'Видели ли вы мою собаку Фэнга: ' . $fang_spotted . '<br>'; echo 'Дополнительная информация: ' . $other . '<br>'; echo 'Ваш адресс электронной почты: ' .$email .'<br><br>'; ?> </body> </html> И сразу вторая проблема. Написал функцию по примеру из учебника, но при выполнение пишет "Ошибка при выполнении запроса к базе данных." посмотрел все внимательно но не нашел ошибку. Вот код: Код (Text): <!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="../css/style.css"> <title>Космические пришельцы похищали меня - сообщение о похищении</title> </head> <body> <h4 id="Successeful">Сообщение успешно отправленно.</h4> <?php $name = $_POST['firstName'] . ' ' . $_POST['lastName']; $email = $_POST['eMail']; $whan_it_happened = $_POST['whanItHappened']; $how_long = $_POST['howLong']; $how_many = $_POST['howMany']; $alien_description = $_POST['alienDescription']; $what_the_did = $_POST['whatTheyDid']; $fang_spotted = $_POST['fangSpotted']; $other = $_POST['other']; $dbc = mysqli_connect('localhost', 'Encoder', '31502', 'aliensdatabase') or die ('Ошибка соединения с MySQL-Сервером'); $query = "INSERT INTO aliens_abduction (first_name, last_name, ". "when_it_happened, how_long, how_many, alien_description, " . "what_the_did, fang_spotted, other, email) " . "VALUES ('Салли', 'Джонс', '3 дня назад', '1 день', 'четыре', " . "'зеленые с шестью щупальцами', 'мы просто разговоривали и играли с собакой', 'sally@gregs-lest.net')"; $result = mysqli_query($dbc, $query) or die ('Ошибка при выполнении запроса к базе данных.'); mysqli_close($dbc); ?> </body> </html> Заранее благодарен.
это точно, у большинства (если не у всех?) хостингов во время тестового периода отключена отправка писем. пробуй использовать функции mysql_connect, mysql_query вместо mysqli_connect и mysqli_query. почитай в мануале чем отличаются, потому что придётся немного переделать запрос $query. ...ах да, совсем забыл, ещё не забудь выполнить mysql_select_db
Переходить с mysqli_ на mysql_ - ни к чему, обычно советуют наоборот. mysql_ всё-таки уже очень старая штука. А вот чтобы понять, в чём ошибка в запросе - замени своё Код (PHP): $result = mysqli_query($dbc, $query) or die ('Ошибка при выполнении запроса к базе данных.'); на Код (PHP): $result = mysqli_query($dbc, $query) or die ('Ошибка при выполнении запроса к базе данных:<br>' . $query . '<br>' . mysqli_error($dbc));
но начинать лучше с неё... тогда либо в БД aliensdatabase не создана таблица aliens_abduction с полями first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_the_did, fang_spotted, other, email. либо так: Код (PHP): $query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_the_did, fang_spotted, other, email) VALUES ('Салли', 'Джонс', '3 дня назад', '1 день', 'четыре', 'зеленые с шестью щупальцами', 'мы просто разговоривали и играли с собакой', 'sally@gregs-lest.net')"; и ещё: полей 10, а значений 8... так нельзя