Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.172.252] |
|
Страницы: (5) [1] 2 3 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Изучаю, значит PHP, решил написать простенькую
игру (какую объяснять не буду). Я на PHP не чего не писал и вот решил буду писать игру и параллельно изучать. Все вопросы касающееся игры я буду задавать в этом топике. Просьба на вопросы отвечать с комментариями так как я только учусь. 1 ВОПРОС Денно четырёхзначное число например 2345 нужно чтобы $a=2, $b=3, $c=4, $d=5, четырёхзначное число будет вводиться в Техт Бох <input name="Name" type="text" value=""> и так с любым числом первая цифра будет присвоена $a и т. д. |
Сообщ.
#2
,
|
|
|
<?php $a = 5; $b = 4; $c = 6; $d = 1; echo '<input name="name" type="text" value=' .$a .$b.$c.$d.">\n"; ?> |
Сообщ.
#3
,
|
|
|
Наоборот посте того как я ввёл числа
начинается присваениея. [html]$a = 5; $b = 4; $c = 6; $d = 1;[/html] |
Сообщ.
#4
,
|
|
|
Тебе на лету что ли надо? В то время, как вводишь - сразу и присваивать? или есть кнопка типа submit?
вроде если без кнопочки, то никак данные формы не получить, значит надо делать кнопку - пересылать данные формы на какую-нибудь страницу(можно и на эту же) и тут уже их обрабатывать... Доступ к ним будет по имени поля (в твоем случае Name) - а лучше через $HTTP_POST_VARS или $HTTP_GET_VARS - так надежнее(я уже так ожнажды напоролся, когда вместо переменной формы обрабатывал переменную из куки - долго голову ломал в чем дело) А далее(когда значеие поля храниться в $Name) можешь вытащить из него цифры любым способом(делением на 10 в цикле например) или еще как-нибудь. Я себе это так представляю - я сам пока php только учусь - может ошибусь где-нибудь - надеюсь поправят |
Сообщ.
#5
,
|
|
|
Цитата shipbrother, 17.08.04, 14:49 Тебе на лету что ли надо? В то время, как вводишь - сразу и присваивать? есть кнопка, или после нажания Ввод. Цитата shipbrother, 17.08.04, 14:49 Доступ к ним будет по имени поля (в твоем случае Name) - а лучше через $HTTP_POST_VARS или $HTTP_GET_VARS - так надежнее(я уже так ожнажды напоролся, когда вместо переменной формы обрабатывал переменную из куки - долго голову ломал в чем дело) Мне как легче нужно, я всего лишь учю на примере игры. |
Сообщ.
#6
,
|
|
|
Цитата и так и так легко.Мне как легче нужно, я всего лишь учю на примере игры. Пусть это код на странице, куда ты попал после нажатия submit. В переменной $name будет твое число. Форма отсылалась с помощью метода post. <?php $name = $HTTP_POST_VARS["Name"]; //php ne vazhno chislo eto ili stroka - budem rabotat kak so strokoi $a = substr($name,0,1); //ispolzuem videlenie podstroki $b = substr($name,1,1); //mozhno sdelat eto zhe i v tsikle $c = substr($name,2,1); $d = substr($name,3,1); ?> |
Сообщ.
#7
,
|
|
|
Посылаю число в 1.php
<html><head> <title></title> </head><body> <form action=1.php> <input name="name" type="text" value=""> <input type="submit" value="pusk"> <?php Это и есть 1.php <html><body> <?php $name = $HTTP_POST_VARS["Name"]; $a = substr($name,0,1); $b = substr($name,1,1); $c = substr($name,2,1); $d = substr($name,3,1); echo "$a<br> $b<br> $c<br> $d<br>"; ?> </body></html> Дело в том что в итоге мне невыводиться echo "$a<br> $b<br> $c<br> $d<br>"; видно лишь в URL что число передаёться: /Good/1.php?name=2347 В чём дело? |
Сообщ.
#8
,
|
|
|
Дело в том, что по умолчанию форма передается методом GET, то есть все значения передаются через URL - как у тебя. Тогда надо использовать не $HTTP_POST_VARS[], a $HTTP_GET_VARS[].
<?php $name = $HTTP_GET_VARS["name"]; $a = substr($name,0,1); $b = substr($name,1,1); $c = substr($name,2,1); $d = substr($name,3,1); echo "$a<br> $b<br> $c<br> $d<br>"; ?> А чтобы работал тот код(использующий $HTTP_POST_VARS) надо добавить в тэг формы один атрибут - METHOD <form action="1.php" method="post"> <input name="name" type="text" value=""> <input type="submit" value="pusk"> Достоинство метода POST в том, что пользователь не видит какие переменные передаются и какие у них значения. Это удобно если надо передать скрытые поля формы. |
Сообщ.
#9
,
|
|
|
Всё Очень просто. Есть два метода передачи данных из формы.
Первый - GET. Передаёт переменные через строку запорса. Пример: http://localhost/index.php?a=b&c=d. В РНР это массив $_GET, $HTTP_GET_VARS Воторой: POST. Передаёт переменные через спецальные поля HTTP запроса. B PHP: $_POST, $HTTP_POST_VARS Для регулирования способа передачи данных используется аттрибут method тэге form Пимер: [html] <form method="post"> </form> <form method="get"> </form> [/html] Т.к. ты используешь $HTTP_POST_VARS для получения переменных, то тебе метод передачи надо установить в get |
Сообщ.
#10
,
|
|
|
ВСё равно не выдаёт переданные числа на экран
echo "$a<br> $b<br> $c<br> $d<br>"; |
Сообщ.
#11
,
|
|
|
Вижу ещё один глюк;)) В РНР регистр переменных влияет на их распознавания. Поэтому не $HTTP_POST_VARS["Name"] a $HTTP_POST_VARS["name"]
Советую в начало файла вставить строку error_reporting(E_ALL) Эта ф-ция заставить выводить все ошибки вызываемые твоим кодом. |
Сообщ.
#12
,
|
|
|
Цитата Rom@nych, 18.08.04, 17:29 $HTTP_POST_VARS["Name"] a $HTTP_POST_VARS["name"] Это пробовал, не внём дело. |
Сообщ.
#13
,
|
|
|
ты посмотри сначала присваиваются ли хоть какие-нибудь значения твоим переменным. Если да, то дело в
echo "$a<br> $b<br> $c<br> $d<br>"; Я лично по старинке всегда пишу echo $a . "<br>" . $b . "<br>"; |
Сообщ.
#14
,
|
|
|
Странно, а что выводится?
|
Сообщ.
#15
,
|
|
|
Цитата Mastilior, 18.08.04, 22:44 Странно, а что выводится? Вот именно нечго не выводиться. Попробуйте у себя |