Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/65: Рейтинг темы: голосов - 65, средняя оценка - 4.58
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435

Не работает метод GET

08.07.2010, 20:15. Показов 13051. Ответов 25
Метки нет (Все метки)

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

top1.php
HTML5
1
2
3
4
5
6
7
8
9
10
<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
1
2
3
4
5
6
7
<?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 нажать строку "Ссылка", сервер Апач выдаст ошибку:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.07.2010, 20:15
Ответы с готовыми решениями:

Не работает метод в класе. Метод проверки на вес
Итак, немножко вступления о проблеме и задании. 1) Препод дал код и сказал привязать класс к класу и проверить упадет ли лифт 1) есть...

В Windows Forms некоректно работает метод, хотя в консоли работает правильно
//Данный метод должен заменять все элементы в массиве на 1, после найменьшего. public string getNewArray(int array) { ...

Не работает метод POST в Денвере, GET работает
Помогите кто может, с Get работает, с POST или post приходят только вопросы без ответов. Вот кусок формы: &lt;html&gt; &lt;head&gt; ...

25
Почетный модератор
 Аватар для Humanoid
11557 / 4352 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
08.07.2010, 20:28
Цитата Сообщение от Golovastik Посмотреть сообщение
сервер Апач выдаст ошибку:
Это PHP выдаёт... и не ошибка, а просто предупреждение. Оно означает, что переменная $per1 не существует. Опять какая-то сборка с кривыми настройками? Включенный register_globals - это не совсем безопасно. Лучше подбирать все данные из массивов $_GET и $_POST, а register_globals вообще отключить.
0
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
08.07.2010, 21:23  [ТС]
Вот так тоже не сработает.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?PHP
 
echo  "Имя введённое на предыдущей странице -  $per1  и фамилия $per2";
 
$x1 = 5;
 
$x2 = 10;
 
//проверка
 
if (isset($_GET['x1']) && isset($_GET['x2']) && $_GET['rez'])
{
$rez = $_GET['x1'] + $_GET['x2'];
}
echo "<br> <a href='top2.php?x1=$x1&x2=$x2'>Ссылка</a><br>Ответ: ";
echo $rez;
 
?>
0
Почетный модератор
 Аватар для Humanoid
11557 / 4352 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
08.07.2010, 21:43
Опять же, ты в самом начале пытаешься вывести на экран какие-то переменные $per1 и $per2... откуда они берутся? Вначале надо проверять, существуют ли они:
PHP
1
2
3
if (isset($_POST['per1'])) $per1=$_POST['per1']; else $per1='';
if (isset($_POST['per2'])) $per2=$_POST['per2']; else $per2='';
echo  "Имя введённое на предыдущей странице -  $per1  и фамилия $per2";
А по поводу ссылки... когда вставляешь переменную в ссылку, то желательно пропускать её через urlencode()... в данном случае это цифры, поэтому это не обязательно. Но когда в переменной может быть текст, то нужно обязательно
PHP
1
echo "<br> <a href='top2.php?x1=".urlencode($x1)."&x2=".urlencode($x2)."'>Ссылка</a><br>Ответ: ";
0
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
08.07.2010, 22:06  [ТС]
Вот так надо?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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>Нет входных данных';
}
?>
Добавлено через 35 секунд
urlencode - такого метода не встречал не в курсе что он даёт и какой от него толк.
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
08.07.2010, 22:30
Цитата Сообщение от Golovastik Посмотреть сообщение
urlencode - такого метода не встречал не в курсе что он даёт и какой от него толк.
Возвращает строку, в которой все не алфавитно-числовые символы (кроме -_.) заменены на знак процентов (%) с последующими двумя 16-ричными цифрами и пробелами, кодированными как знаки плюс (+).Она кодируется тем же способом, что и post данные WWW-формы, то есть как в типе носителя application/x-www-form-urlencoded. Это отличается от RFC1738-кодирования (см. rawurlencode()) тем, что, по историческим соображениям, пробелы кодируются как плюсы (+).
(from php.su)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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>Нет входных данных';
}
?>
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
08.07.2010, 22:35
PHP
1
2
3
4
5
6
7
<?php
//Ты передаешь параметры во второй файл методом POST, но принимаешь их почему-то методом GET
//Попробуй так 
     $n1    = $_POST['per1'];
     $n2    = $_POST['per2'];
echo  "Имя ввдённое на предыдущей странице -  $n1  и фамилия $n2";
?>
Добавлено через 36 секунд
Немного припоздал...
0
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
08.07.2010, 22:40  [ТС]
А как сделать чтоб выводило сумму чисел,чего-то не работает пробую так не выходит:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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>Нет входных данных';
}
?>
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
08.07.2010, 22:43
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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>Нет входных данных';
}
?>
0
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
08.07.2010, 23:54  [ТС]
Ваш код работает, также как и мой выше, он не считает вообще и не выводит результат суммы 2 чисел:
PHP
1
2
Имя введённое на предыдущей странице - Павел и фамилия Дуров
Нет входных данных
0
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
09.07.2010, 00:06
при нажатии кнопки ты переходишь на "top2.php"
соответственно $_GET[] не откуда взять данные так как x1 не указан в адресе
попробуй так:
PHP
1
2
3
4
5
<form  action="top2.php?x1=10&x2=20"  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>
Если я конечно правильно понял твою проблему
0
 Аватар для Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
09.07.2010, 00:42  [ТС]
Всё равно выдаёт:
Имя введённое на предыдущей странице - Павел и фамилия Дуров
Нет входных данных
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
09.07.2010, 01:19
top1.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form  action="top2.php?x1=10&x2=20" 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
     
//     echo  "Имя ввдённое на предыдущей странице -  ", $_POST['per1'],  "и фамилия", $_POST['per2'];
     echo "имя:",  $_POST['per1'], "<br>";
     echo "Фамилия:",  $_POST['per2'], "<br>";
     
     $res = $_GET['x1'] + $_GET['x2'];     
     echo $res, "<br>";
     echo "<a href='top2.php?x1=25&x2=35'>При нажатии на ссылку естественно имя и фамилия пропадут.</a>";
?>
</body>
</html>

Примечание
Возьми нормальный учебник по пхп и не надо экспериментировать. Там и научишься проверять переменные на существование, и передавать переменные другим скриптам без помощи POST и GET, ну и базы данных изучишь. А так просто тыкать пальцем в небо, ни к чему хорошему не приведет.
0
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
09.07.2010, 13:26
Цитата Сообщение от DenQ Посмотреть сообщение
Примечание
Возьми нормальный учебник по пхп и не надо экспериментировать. Там и научишься проверять переменные на существование, и передавать переменные другим скриптам без помощи POST и GET, ну и базы данных изучишь. А так просто тыкать пальцем в небо, ни к чему хорошему не приведет.
НУ не скажите, я книгу по пхп не читал, просто брал примеры скриптов, а дальше экспериментировал.

извините за офтоп
0
Комбинатор
 Аватар для DenQ
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
09.07.2010, 16:52

Не по теме:

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



Добавлено через 38 секунд
Golovastik, вы хоть откликнетесь - как там работает мой код?
0
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
09.07.2010, 17:32
У меня дично на xampp'е скрипт головастика отлично работает, если конечно указать
HTML5
1
action="top2.php?x1=10&x2=20"


DenQ твой тоже норм работает)
0
0 / 0 / 0
Регистрация: 15.08.2010
Сообщений: 4
15.08.2010, 11:43
Здравствуйте. У меня тоже не работает метод GET. Не читает даже переменные с адресной строки. Работаю на Денвере.
Как я понимаю, нужно переустанавливать сервер? Надеюсь, что не обязательно...
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
15.08.2010, 12:00
Merikel, покажите свое творение (я имею ввиду код).
0
0 / 0 / 0
Регистрация: 15.08.2010
Сообщений: 4
15.08.2010, 12:06
вот мой код=)
echo $a;
а в адресной строке пишу http://phpserver/php/index.php?a=345
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
15.08.2010, 12:13
не $a, а $_GET['a']
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2010, 12:13
Помогаю со студенческими работами здесь

Метод получает другой метод, как аргумент. Как это работает?
Добрый день, ребят. Есть такая программа: package javaapplication13; class Block{ int a, b, c; int volume; ...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Не работает метод GET
Всем привет!!!! столкнулся с проблемой,что пишу к пимеру echo $a; и до этого я не объявлял её и я деумал браузер выдаст ошибку что...

Не работает метод GET
Добрый день. Никак не могу разобраться в проблеме при попытке передать что-либо методами GET, POST При разборе этого примера: ...

Метод не работает
Все добра! написал метод. он ругается и не работает. подскажите пожалуйста, что не так. private void SumKT (){ DataSourceBase...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru