Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массивы и $Post
 
 автор: KESHAN   (25.01.2010 в 19:26)   письмо автору
 
 

Добрый день. Обучаюсь работе с массивами, вышла проблемка, подскажите, что не так.
<html>
<head>
<title>Формуляр</title>
</head>
<body>
<h3>Введите, пожайлуста, Ваши данные!</h3>
<form action="answer1.php" method="post">
Имя и отчество <br><input type="text" name="array[FirstName]" size ="20"><br>
Фамилия <br><input type="text" name="LastName" size ="20"><br>
E-mail <br><input type="text" name="email" size ="30">
<h4>Как вы себя чувствуете?</h4>
<select size="1" name="SelectionList">
<option value="1">нормально</option>
<option value="2">отлично</option>
<option value="3">хорошо</option>
<option value="4">так себе</option>
</select><br><br>
<input type="submit" name="submit" value="Отправить">
</form></body></html>

ну и PHP-скрипт
<html>
<head>
<title>Контроль заполнения формы</title>
</head>
<body>
<?php
echo '<br>Ваше Имя и отчество: ' .$_POST['FirstName'];
echo '<br>Ваша фамилия: ' .$_POST['LastName'];
echo '<br>Ваш e-mail адрес: ' .$_POST['email'];
if ($_POST['SelectionList'] == "1")
{echo "<br><b>Значит, дела у вас никак</b>";}
elseif ($_POST['SelectionList'] == "2")
{echo "<br><b>Завидуем, мы вам</b>";}
elseif ($_POST['SelectionList'] == "3")
{echo "<br><b>Прекрасно, но может быть и лучше</b>";}
else
{echo "<br><b>Ну что ж....</b>";}
?>
</body>
</html>
Вообщем выводит все после echo не распозновая массива, заранее спасибо за помощь.

  Ответить  
 
 автор: neadekvat   (25.01.2010 в 19:29)   письмо автору
 
   для: KESHAN   (25.01.2010 в 19:26)
 

[поправлено модератором]

  Ответить  
 
 автор: [:SITD:]   (25.01.2010 в 19:43)
 
   для: neadekvat   (25.01.2010 в 19:29)
 

[поправлено модератором]

  Ответить  
 
 автор: ДобрыйУхх   (25.01.2010 в 20:02)   письмо автору
 
   для: [:SITD:]   (25.01.2010 в 19:43)
 

тебе, [:SITD:] за рекламу этого форума платят хоть или так, на подсосе работаешь? ХА ХА ХА

  Ответить  
 
 автор: [:SITD:]   (25.01.2010 в 19:41)
 
   для: KESHAN   (25.01.2010 в 19:26)
 

$_POST['array']['FirstName']

  Ответить  
 
 автор: KESHAN   (25.01.2010 в 20:02)   письмо автору
 
   для: KESHAN   (25.01.2010 в 19:26)
 

>name="array[FirstName]" ошибочка вышла там так name="FirstName" , и всеравно не выходит или я не туда вставил.(: как я понял нужно ж так echo '<br>Ваше Имя и отчество: ' $_POST['array']['FirstName'];

  Ответить  
 
 автор: neadekvat   (25.01.2010 в 20:07)   письмо автору
 
   для: KESHAN   (25.01.2010 в 20:02)
 

>name="array[FirstName]"
Так не надо. По крайней мере, не в этом случаи

> name="FirstName"
Вот это вывести можно так:
$_POST['FirstName']
И я не вижу причин, чтобы это не работало, тем более, если другие элементы массивы выводятся..

  Ответить  
 
 автор: KESHAN   (25.01.2010 в 22:26)   письмо автору
 
   для: neadekvat   (25.01.2010 в 20:07)
 

Всеравно чего то не работает
код
<html>
<head>
<title>Формуляр</title>
</head>
<body>
<h3>Введите, пожайлуста, Ваши данные!</h3>
<form action="answer1.php" method="post">
Имя и отчество <br><input type="text" $_POST['FirstName'] size ="20"><br>
Фамилия <br><input type="text" name="LastName" size ="20"><br>
E-mail <br><input type="text" name="email" size ="30">
<h4>Как вы себя чувствуете?</h4>
<select size="1" name="SelectionList">
<option value="1">нормально</option>
<option value="2">отлично</option>
<option value="3">хорошо</option>
<option value="4">так себе</option>
</select><br><br>
<input type="submit" name="submit" value="Отправить">
</form></body></html>

и пхп
<html>
<head>
<title>Контроль заполнения формы</title>
</head>
<body>
<?php
echo '<br>Ваше Имя и отчество: ' .$_POST['FirstName'];
echo '<br>Ваша фамилия: ' .$_POST['LastName'];
echo '<br>Ваш e-mail адрес: ' .$_POST['email'];
if ($_POST['SelectionList'] == "1")
{echo "<br><b>Значит, дела у вас никак</b>";}
elseif ($_POST['SelectionList'] == "2")
{echo "<br><b>Завидуем, мы вам</b>";}
elseif ($_POST['SelectionList'] == "3")
{echo "<br><b>Прекрасно, но может быть и лучше</b>";}
else
{echo "<br><b>Ну что ж....</b>";}
?>
</body>
</html>

и вот что получается

Ваше Имя и отчество: ' .$_POST['FirstName']; echo '
Ваша фамилия: ' .$_POST['LastName']; echo '
Ваш e-mail адрес: ' .$_POST['email']; if ($_POST['SelectionList'] == "1") {echo "
Значит, дела у вас никак";} elseif ($_POST['SelectionList'] == "2") {echo "
Завидуем, мы вам";} elseif ($_POST['SelectionList'] == "3") {echo "
Прекрасно, но может быть и лучше";} else {echo "
Ну что ж....";} ?>

  Ответить  
 
 автор: neadekvat   (25.01.2010 в 22:30)   письмо автору
 
   для: KESHAN   (25.01.2010 в 22:26)
 

Вас не удивляет, что весь код наружу полез?

  Ответить  
 
 автор: KESHAN   (26.01.2010 в 00:39)   письмо автору
 
   для: neadekvat   (25.01.2010 в 22:30)
 

От того у вас и спрашиваю, потому что новичок в этом, или форумы нынче не для помощи...

  Ответить  
 
 автор: oliss   (26.01.2010 в 05:51)   письмо автору
 
   для: KESHAN   (26.01.2010 в 00:39)
 

Обрамляйте,пожалуйста, код тегами [code] ,будет легче разбираться.

  Ответить  
 
 автор: KESHAN   (26.01.2010 в 09:40)   письмо автору
 
   для: oliss   (26.01.2010 в 05:51)
 

Всеравно чего то не работает


<html>
<head>
<title>Формуляр</title>
</head>
<body>
<h3>Введите, пожайлуста, Ваши данные!</h3>
<form action="answer1.php" method="post">
Имя и отчество <br><input type="text" $_POST['FirstName'] size ="20"><br>
Фамилия <br><input type="text" name="LastName" size ="20"><br>
E-mail <br><input type="text" name="email" size ="30">
<h4>Как вы себя чувствуете?</h4>
<select size="1" name="SelectionList">
<option value="1">нормально</option>
<option value="2">отлично</option>
<option value="3">хорошо</option>
<option value="4">так себе</option>
</select><br><br>
<input type="submit" name="submit" value="Отправить">
</form></body></html>


и пхп


<html>
<head>
<title>Контроль заполнения формы</title>
</head>
<body>
<?php
echo '<br>Ваше Имя и отчество: ' .$_POST['FirstName'];
echo 
'<br>Ваша фамилия: ' .$_POST['LastName'];
echo 
'<br>Ваш e-mail адрес: ' .$_POST['email'];
if (
$_POST['SelectionList'] == "1")
{echo 
"<br><b>Значит, дела у вас никак</b>";}
elseif (
$_POST['SelectionList'] == "2")
{echo 
"<br><b>Завидуем, мы вам</b>";}
elseif (
$_POST['SelectionList'] == "3")
{echo 
"<br><b>Прекрасно, но может быть и лучше</b>";}
else
{echo 
"<br><b>Ну что ж....</b>";}
?>
</body>
</html>

  Ответить  
 
 автор: sim5   (26.01.2010 в 09:43)   письмо автору
 
   для: KESHAN   (26.01.2010 в 09:40)
 

Имя и отчество <br><input type="text" $_POST['FirstName'] size ="20"> - это что за хрень в HTML коде?

  Ответить  
 
 автор: KESHAN   (26.01.2010 в 09:55)   письмо автору
 
   для: sim5   (26.01.2010 в 09:43)
 


name="FirstName"

Изначально было так, запутался уже вообщем

  Ответить  
 
 автор: sim5   (26.01.2010 в 10:00)   письмо автору
 
   для: KESHAN   (26.01.2010 в 09:55)
 

Это "изначально" как раз и должно быть в форме - РНР-код для браузера пустой звук. Если атрибут name элемента формы опущен, то браузер совсем и не обязан передавать его на сервер.

PS. Кстати:
<select name="SelectionList"> 
<option value="1">нормально</option> 
<option value="2">отлично</option> 
<option value="3">хорошо</option> 
<option value="4">так себе</option> 
</select>

не стоит так предлагать список, лучше:
<select name="SelectionList">
<option value="0">Как себя чувствуете?</option> 
<option value="1">нормально</option> 
<option value="2">отлично</option> 
<option value="3">хорошо</option> 
<option value="4">так себе</option> 
</select>

ибо список будет всегда отправлен серверу, и ваше "резюме" по умолчанию "Ну что ж...." лишено в таком случае смысла. И обрабатывать лучше так:
<?
$arr 
= ('Ну что ж....','Значит, дела у вас никак','Завидуем, мы вам','Прекрасно, но может быть и лучше','Полный швах');
echo 
$arr[$_POST['SelectionList']];

  Ответить  
 
 автор: KESHAN   (26.01.2010 в 10:27)   письмо автору
 
   для: sim5   (26.01.2010 в 10:00)
 

Спасибо за помощь, будем разбиратся.

  Ответить  
 
 автор: sim5   (26.01.2010 в 11:07)   письмо автору
 
   для: KESHAN   (26.01.2010 в 10:27)
 

Допустил промах, вот так:
<?
$arr 
= array('Ну что ж....'и далее....

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования