2012-06-01 3 views
-2

У меня возникла проблема с подпиской на рассылку, которую я пишу. Проблема в том, что я, кажется, не получаю никаких ошибок или на самом деле ничего вообще, когда кто-то нажимает кнопку «Отправить», все, что происходит, это они представлены пустой белой страницей и не более, поэтому ее трудно диагностировать.Подписка на рассылку Без ошибок

В принципе, в форме напоминания о политике есть поле, на котором оно называется newslettersubscribe, если это равно да, пользователь также подписался на список рассылки, а также на список напоминаний о политике, для которого они подписываются. Я не уверен на 100%, если я правильно использую функции real_escape_string, хотя или нет?

<?php 
$email = real_escape_string($_POST['email']); 
$name = real_escape_string($_POST['name']); 
$newslettersubscribe = real_escape_string($_POST['newslettersubscribe']); 
if ($newslettersubscribe == 'no'){ 
} 
else{ 
mysql_query("INSERT INTO ymeg_chronoforms_data_NewsletterDesigner (email, name) 
VALUES ('$email', '$name')") or die(mysql_error()); 
} 
?> 

EDIT >>>>>>>>>>>>>>>>>>>

Если удалить реальную строку побега я получаю ошибку

Unknown column 'email' in 'field list' 

когда нажав submit, так что, вероятно, объясняет белую страницу, что означает эта ошибка? ».

EDIT 2 >>>>>>>>>>>>>>>>>

Это пример записи из базы данных им пытается подключиться к:

cf_id 6 
cf_uid 5f04f21f80a596f17341cec92a48b197 
cf_created 2012-06-01 10:13:16 
cf_modified  
cf_ipaddress 217.154.186.84 
cf_user_id 44 
name Iain Simpson 
email [email protected] 
+1

Как выглядит ваш html? Получены ли значения? – Grumpy

+0

используйте 'mysql_real_escape_string'. Кроме того, 'или die()' не является хорошей практикой, используйте правильную обработку ошибок. – Tikkes

+0

Откуда вы знаете, что это «умирает»? Похоже, если либо '$ newslettersubscribe' был установлен в' 'no'', либо если запрос завершается успешно, то никакой вывод не будет сгенерирован. Может быть, вы должны добавить некоторые выражения 'echo', чтобы посмотреть, что происходит на самом деле. – nickb

ответ

1

Try вторя значения, чтобы убедиться, что это не проблема с просто недобросовестный

$newslettersubscribe = 'no'; 

Вы должны были бы сделать что-то простое, как следующее:

$email = real_escape_string($_POST['email']); 
$name = real_escape_string($_POST['name']); 
$newslettersubscribe = real_escape_string($_POST['newslettersubscribe']); 

echo $email.' | '.$name.' | '.$newslettersubscribe; 
exit(); 

Это должно хотя бы показать вам, каковы ваши значения для требуемых переменных. Все о простое устранение неполадок, что происходит, и как это влияет на ваш SQL-запрос.

+0

Я пробовал повторять значения, и они эхо-штрафа, когда я пытаюсь добавить их в таблицу, это сходит с ума. Теперь у меня temp удалены реальные строки escape, я получаю сообщение об ошибке: Неизвестный столбец «email» в «списке полей» –

+0

«Список полей» означает, что в его схеме базы данных отсутствует адрес электронной почты столбца, что такое БД схема? Можете ли вы опубликовать его и добавить к своему вопросу? – Jakub

+0

datebase его размещения на это ymeg_chronoforms_data_NewsletterDesigner Columns = cf_id (первичный ключ) cf_uid Name e-mail –

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