[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Странная ошибка
Gnome
Господа программеры, писал форму обратной связи, страница HTML, где вводится имя e-mail и текст сообщения сработала нормально. Проблемы возникли со скриптом обработки
Код

<?php
if (isset($_POST['okbutton']))
{
$komu='Viking2016@mail.ru';
$tema='Вопрос от'.$_POST['person'].' '.$_POST['email'];
$text_pisma=$_POST['question'];
mail($komu,$tema,$text_pisma);
echo '<BR> Ваш вопрос был отправлен администратору';
echo '<br><a href=backform.html>Назад,</a>';
}
?>

вместо
Цитата
Ваш вопрос был отправлен администратору
Назад

выводит
Цитата
Ваш вопрос был отправлен администратору'; echo '
Назад,'; } ?>


при этом если недописать код
Код

<?php
if (isset($_POST['okbutton']))
{
$komu='Viking2016@mail.ru';
$tema='Вопрос от'.$_POST['person'].' '.$_POST['email'];
$text_pisma=$_POST['question'];
mail($komu,$tema,$text_pisma);
echo '<BR> Ваш вопрос был отправлен администратору

то вместо ошибки вылазит текст
Цитата
Ваш вопрос был отправлен администратору


З.ы. Извиняюсь если много повторяющихся слов, 2 часа пытаюсь понять, голова не варит.



Спустя 12 минут, 18 секунд (1.07.2009 - 09:10) PandoraBox2007 написал(а):
PHP
<?php

if 
(isset($_POST['okbutton']))
{
 $komu = "Viking2016@mail.ru";
 $tema="Вопрос от{$_POST['person']} {$_POST['email']}";
 $text_pisma = $_POST['question'];

 if (mail($komu, $tema, $text_pisma))
{
   echo '<br /> Ваш вопрос был отправлен администратору';
}
 else {
   echo '<br /> Ваш вопрос не был отправлен администратору';
}

  echo "<br /><a href=\"backform.html\">Назад,</a>";
}

Спустя 1 минута, 5 секунд (1.07.2009 - 09:11) glock18 написал(а):
Цитата (Gnome @ 1.07.2009 - 05:58)
echo '<BR> Ваш вопрос был отправлен администратору';


может у тебя там в оригинале кавычки разные просто? например, первая открывающая - двойная?

Спустя 3 минуты, 4 секунды (1.07.2009 - 09:14) Gnome написал(а):
To PandoraBox2007
Хех, а при этом варианте выводится такое сообщение:
Цитата
Ваш вопрос был отправлен администратору'; else echo '
Ваш вопрос не был отправлен администратору'; echo "
Назад,"; }
. Непонятно что делать с вылазящими кусками кода...

То glock18
нет, перепроверил все 3 раза, пока сам искал... да и копировал код прямо из файла.

Спустя 8 минут, 20 секунд (1.07.2009 - 09:22) PandoraBox2007 написал(а):
открой исходный код страницы (в браузере), ПХП ваще помойму не задействован ты в браузере выводиш исходный код без выполнение его через пхп процессор

Спустя 6 минут, 30 секунд (1.07.2009 - 09:29) Gnome написал(а):
Эм... исходный код выглядит так...
Код
<?php
if (isset($_POST['okbutton']))
{
$komu='Viking2016@mail.ru';
$tema='Вопрос от'.$_POST['person'].' '.$_POST['email'];
$text_pisma=$_POST['question'];
mail($komu,$tema,$text_pisma);
echo '<BR> Ваш вопрос был отправлен администратору';
echo '<br><a href=backform.html>Назад,</a>';
}
?>

И да, я знаю что отображаться он таким не должен.

Спустя 2 минуты, 22 секунды (1.07.2009 - 09:31) PandoraBox2007 написал(а):
ну так подключить обработку в апаче или что там кстати вышел NgINX для винды можно потестить славный быстрый веб сервер (=


AppServ 2.5.10: http://www.appservnetwork.com/

Спустя 56 секунд (1.07.2009 - 09:32) Gnome написал(а):
Но другие-то скрипты прекрасно обрабатываются.

Спустя 1 минута, 30 секунд (1.07.2009 - 09:34) PandoraBox2007 написал(а):
расширение у файла какое php.txt ?

Спустя 2 минуты, 3 секунды (1.07.2009 - 09:36) Gnome написал(а):
obrabotka.php

Спустя 1 минута, 35 секунд (1.07.2009 - 09:37) glock18 написал(а):
Gnome
все таки не угомонюсь smile.gif уверен, что дело в этих двух кавычках. Может они просто в разных кодировках сделаны, и распознаются php по-разному? А редактор выводит одинаковыми... Там же очевидно, что php не закрывает строку на второй кавычке.

Правда еще один вопрос встает, почему он ее все таки закрывает после ?>. Если я правильно понял - ошибка не выдается?

PS: все равно попробуй удали эти две кавычки, и набери по-новой.

Спустя 1 минута, 4 секунды (1.07.2009 - 09:38) PandoraBox2007 написал(а):
может это не расширение а только имя расширение может быть скрыто

user posted image

Спустя 1 минута, 38 секунд (1.07.2009 - 09:40) glock18 написал(а):
PandoraBox2007
php отрабатывает, по всей видимости. Выводится только часть после строки

Цитата (Gnome @ 1.07.2009 - 05:58)
Ваш вопрос был отправлен администратору

а до этого php не выводится. По крайней мере, gnome не указал это явно.

Спустя 2 минуты, 50 секунд (1.07.2009 - 09:43) Gnome написал(а):
несколько раз все переписывал, работаю в Notepad++, там видно что все закрывается. Расширение соответственно тоже php (не поленился, проверил). Самое странное, что если не закрыть фигурные скобки и сам скрипт пхп (?>) то все работает. На экран выводится только то, что я указал в первом сообщении.

Кому интересно: тут хтмл страница, и скрипт обработки
http://www.rapidshare.ru/1086736

Спустя 23 минуты (1.07.2009 - 10:06) sergeiss написал(а):
По-моему, проблема вот в этом куске кода:
HTML
<br><a href=backform.html>Назад,</a>

Ты пытаешься формировать ссылку, но при этом не указываешь кавычки для имени файла (ссылки).
А надо бы вот так вот получить:
HTML
<br><a href="backform.html">Назад,</a>

Для чего попробуй прописать
PHP
echo '<br><a href="backform.html">Назад,</a>';

Спустя 6 минут, 25 секунд (1.07.2009 - 10:12) Gnome написал(а):
не помогло, да и сама проблема начинается раньше, когда не скрывается одинарная кавычка после "администратору"

Спустя 1 час, 56 минут, 30 секунд (1.07.2009 - 12:09) Gnome написал(а):
Решил объединить код Html и php в одном скрипте. Такое чувство, что у меня с обработчиком что-то не так ибо вроде совершенно рабочий код
PHP
<?php
//Если была нажата кнопка Ок
//то отправляем письмо
//и информируем пользователья
if (isset($_POST['okbutton']));
{
    if (
$_POST['person']=='' or $_POST['email']=='' or $_POST['question']=='')
    {
 
 echo "<font color='red'>Вы ввели не все данные</font>";
 
 echo "<br><a href=backform.php>Назад</a>";
 
 exit;
    }
    
//куда будем отправлять письмо
    
$komu="Viking2016@mail.ru";
    
//Тема письма
    
$tema="Вопрос от ".$_POST['person']." ".$_POST['email'];
    
//Само письмо
    
$text_pisma=$_POST['question'];
    
    
//Отправляем письмо
    
mail($komu,$tema,$text_pisma);
    
    echo 
"Ваш вопрос был отправлен администратору";
    echo 
"<br><a href=backform.php>Назад</a>";
    
//Выходим из программы
    
exit;
}

HTML
<form action="" method="post">
Ваше имя:<br>
<input type="text" name="person">
<br>
Ваш e-mail:<br>
<input type="text" name="email">
<br>
Вопрос администратору:<br>
<textarea name="question" cols=40 rows=5></textarea>
<br>
<input type="submit" name="okbutton" value="ok">
</form>
опять же пропускает куски... Вот что получается:
user posted image

Спустя 27 минут, 13 секунд (1.07.2009 - 12:36) Kuliev написал(а):
Gnome
Вот эта не красивая строчка
PHP
if ($_POST['person']=='' or $_POST['email']=='' or $_POST['question']=='')
    {
  echo 
"<font color='red'>Вы ввели не все данные</font>";
  echo 
"<br><a href=backform.php>Назад</a>";
  exit;
    }


я бы ее переделал бы так
PHP
$error = array();
if (empty(
$_POST['person']) || empty($_POST['email']) || empty($_POST['question']))
    {
  
$error[] ="<font color='red'>Вы ввели не все данные</font>";
    }


Спустя 3 минуты, 28 секунд (1.07.2009 - 12:39) Kuliev написал(а):
Gnome
Да и еще вопрос, зачем ты везде exit() ставишь?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.