Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2010, 20:18   #1
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию Не работает метод GET

Вот експерементирую метод ГЕТ и пост. Вот создал 2 файла top1.php, top2.php.

top1.php
Код:
<html>
<head></head>
<body>
<form  action="top2.php"  name="formochka" method="post">
<input name="per1" type='text' ><br><br>
<input name="per2" type='text' ><br><br>
<input name="knopka" type='submit' value="Отправить" >
</form>
</body>
</html>
top2.php
Код:
<?php
echo  "Имя ввдённое на предыдущей странице -  $per1  и фамилия $per2";
$x1 = 5;
$x2 = 10;
$rez = $x1 + $x2;
echo "<br> <a href='top2.php?x1=25&x2=35'>Ссылка</a>";
?>
Если ввести например в первое поле Павел, во второе Дуров, нажать на кнопку "Отправить",
затем я перейду на файл top2.php. Если в файле top2.php нажать строку "Ссылка", сервер Апач выдаст ошибку:
Код:

Notice: Undefined variable: per1 in z:\home\xai.loc\www\top2.php on line 2
[ убрать подсказку | никогда больше не показывать ]

Это предупреждение, вероятнее всего, возникает вследствие высокого уровня 
контроля ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). 
Такой режим вывода ошибок является рекомендуемым и сильно помогает при
 отладке скриптов. Однако множество готовых скриптов требуют более 
низкого уровня ошибок.

Вы можете установить более слабый контроль ошибок одним из следующих способов:

Впишите в скрипты строчку: 
Error_Reporting(E_ALL & ~E_NOTICE);
Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания: 
php_value error_reporting 7
Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым 
и может привести к серьезным неудобствам при отладке!
[Денвер: показать возможную причину ошибки]
Notice: Undefined variable: per2 in z:\home\xai.loc\www\top2.php on line 2
Имя ввдённое на предыдущей странице - и фамилия 
Ссылка
Почему не срабатывает переадача значений переменным x1 и x2, через метод GET?
Golovastik вне форума Ответить с цитированием
Старый 08.07.2010, 20:26   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
echo "Имя ввдённое на предыдущей странице - $per1 и фамилия $per2";
Ошибка здесь. Переменные не переданы.
Виталий Желтяков вне форума Ответить с цитированием
Старый 08.07.2010, 20:29   #3
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Почему не переданы?
Golovastik вне форума Ответить с цитированием
Старый 08.07.2010, 20:33   #4
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

потому что глобальные переменные отключены:
Код:
$per1=$_GET['per1'];
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 08.07.2010, 20:34   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Потому что не переданы. В первый раз при переходе с php1 на php2 они передаются, а во второй, когда php2 на php2 не передаются. Уберите строку:
Цитата:
echo "Имя ввдённое на предыдущей странице - $per1 и фамилия $per2";
или передавайте параметры.
Виталий Желтяков вне форума Ответить с цитированием
Старый 08.07.2010, 20:37   #6
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

А как передать ,если при нажатии на ссылку в адрессной стрпоке браузера отображается http://xai.loc/top2.php?x1=25&x2=35 ?
Вот так надо?
Код:
<?PHP
echo "Имя введённое на предыдущей странице -  $_POST[per1] и фамилия $_POST[per2]";
//проверка
if (isset($_GET['x1']) && isset($_GET['x2']))
{
$rez = $_GET['x1'] + $_GET['x2'];
echo "<br> <a href='top2.php?x1=$_GET[x1]&x2=$_GET[x2]'>Ссылка</a><br>Ответ: ";
echo $rez;
}
else
{
echo '<br>Нет входных данных';
}
?>

Последний раз редактировалось Golovastik; 08.07.2010 в 21:58.
Golovastik вне форума Ответить с цитированием
Старый 08.07.2010, 22:40   #7
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

А как сделать чтоб выводило сумму чисел,чего-то не работает пробую так не выходит:
Код:
<?PHP
echo "Имя введённое на предыдущей странице -  $_POST[per1] и фамилия $_POST[per2]";
//проверка
$x1 = 20;  $x2 = 50;
if (isset($_GET['x1']) && isset($_GET['x2']))
{
$rez = $_GET['x1'] + $_GET['x2'];

echo "<br> <a href='top2.php?x1=5&x2=10'>Ссылка</a><br>Ответ: ";
echo $rez;
}
else
{
echo '<br>Нет входных данных';
}
?>
Golovastik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает метод Рунге - Кутта 2-го порядка CsandeRR Общие вопросы C/C++ 1 13.04.2010 16:27
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. Хомяк!!!!! Помощь студентам 4 08.07.2009 10:08
Метод итераций и метод Зейделя prikolist Общие вопросы C/C++ 40 18.06.2009 17:40
Метод итераций и комбинированный метод prikolist Общие вопросы C/C++ 2 16.06.2009 20:51
Почему у компонента TImage не работает метод Perform? devi409 Win Api 7 22.12.2008 17:51