Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Раздел " Уроки PHP (по материалам форума PHP.SU)" [4]
Форумы портала PHP.SU » » Вопросы новичков » Раздел " Уроки PHP (по материалам форума PHP.SU)"

Страниц (12): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
 

46. Mefistofel - 02 Мая, 2012 - 09:02:33 - перейти к сообщению
Вот для примера:
Сплел я корзинку для грибов дома (написал я код)
Вариант 1:
Сложил купленные в магазине грибы и хожу по квартире... Грибник, блин...
Вариант 2:
Сплел карзинку для грибов и пошел в лес собирать (уже почувствовал себя настоящим грибником...
(Добавление)
armancho7777777 пишет:

Учите язык.

Простите))
(Добавление)
Вот такую форму написал по примеру формы в интернет магазине. Не могу связать форму ввода и форму вывода.
В файле "start" у меня код формы, в файле "start1" лежит Php код, который должен просчитать, какой ответ вывести в окно и отобразить его. После заполнения формы она просто сбрасывается и все. Что не так?

CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <title>
  3. Форма для проверки данных
  4. </title>
  5. <body>
  6.         <p align="center">
  7.                         <center>
  8.                 <form action="start1.php"
  9.                 method="get">
  10.  
  11.                 Данные для проверки: <input type="text" name="$sName" />               
  12.        
  13.         <input type="submit" value="Отправить для получения результата" />
  14.         </center>
  15.         </p>
  16.  
  17. </form>
  18. </body>
47. КЫР - 02 Мая, 2012 - 10:10:53 - перейти к сообщению
Во-первых нарушать порядок закрытия тэгов не есть гут
Во-вторых в name инпута символ $ не должен использоваться по-хорошему

CODE (html):
скопировать код в буфер обмена
  1.     <html>
  2.     <title>
  3.     Форма для проверки данных
  4.     </title>
  5.     <body>
  6.             <p align="center">
  7.                             <center>
  8.                     <form action="start1.php"
  9.                    method="get">
  10.      
  11.                     Данные для проверки: <input type="text" name="sName" />              
  12.            
  13.             <input type="submit" value="Отправить для получения результата" />
  14.            </form>
  15.             </center>
  16.             </p>
  17.     </body>
48. armancho7777777 - 02 Мая, 2012 - 10:12:09 - перейти к сообщению
Mefistofel пишет:
... name="$sName" ...
Что это ? Однако
Учите язык. И html тоже.
PHP в HTML:
PHP:
скопировать код в буфер обмена
  1. <input type="text" value="<?PHP echo $sName; ?>" name="president">

В Вашем случае:
PHP:
скопировать код в буфер обмена
  1. <input type="text" name="president">

В файле start1.php:
PHP:
скопировать код в буфер обмена
  1. $sName = $_GET['president'];
49. Mefistofel - 02 Мая, 2012 - 10:48:34 - перейти к сообщению
armancho7777777 пишет:
Что это ?

Это попытка назвать данные также, как называется переменная...

armancho7777777 пишет:

Учите язык. И html тоже.


Все-все..)) Только с формой закончу и снова за уроки Закатив глазки

Вывод данных получил, но (!) независимо оттого, какие данные я ввожу, поолучаю один и тот же ответ "Ему вообще не светит стать президентом".
Получается, что у меня не работает ни IF, ни else If. Возвращает значение $result при $sName - else... Почему не обрабатываеются варианты "Медведев", "Владимир" и "Путин"???

Использовал этот код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $sName = $_GET['president'];
  4.  
  5. $result = '';
  6.  
  7.  
  8. if($sName == 'Медведев')
  9.  
  10.  
  11. {
  12.         $result = 'пока еще президент';
  13. }
  14. else if($sName == 'Путин')
  15. {
  16.         $result = 'Президент все-еще Дмитрий Анатоьевич Медведев';
  17. }
  18. else if($sName == 'Владимир')
  19. {
  20.         $result = 'Он еще инаугурацию не прошел';
  21. }
  22. else
  23. {
  24.         $result = 'Ему вообще не светит стать президентом';
  25. }
  26.  
  27. echo $result;
  28. ?>
  29.  
  30. <Html>
  31. <body>
  32. <form action="start.html">
  33.                 <input type="submit" value="вернуться к запросу" />
  34. </form>
  35. </body>
50. Okula - 02 Мая, 2012 - 11:25:58 - перейти к сообщению
armancho7777777 пишет:
Смелое утверждение))
Откуда такая уверенность?)

Ты недочитал мой пост или просто увидел одно слово и решил его процитировать?
Я сказал что нет такой конструкции как if..elseif..else на тернарном операторе. Вкладывать один тернай оператор в другой можно сколько угодно раз, но, как я писал уже ренее, это делает код менее читаемым.
Стандартной же такой конструкции нет.
Okula пишет:
Можно конечно пихать последующие условия в блок где невыполняется предыдущее, но это будет некрасива и плохо читаемо.
Лучше использовать конструкцию if..elseif..else
Не нужно зацикливаться на тернарном операторе.
51. Mefistofel - 02 Мая, 2012 - 11:33:31 - перейти к сообщению
и все-таки... в чем причина неработоспособности кода?
(помимо месторасположения моих рук)
52. armancho7777777 - 02 Мая, 2012 - 12:22:38 - перейти к сообщению
Okula, Вас спросили как можно сделать тоже самое с тернарными операторами как в случае с if..elseif..else . Вы ответили - "ни как".
53. Mefistofel - 02 Мая, 2012 - 14:35:58 - перейти к сообщению
Функция с использованием цикла в любых случаях может дать тот же результат, что и функция с рекурсией??? Это просто сделано для того, чтобы сократить количество строк в коде (использование рекурсии)? Можно ли сравнить так:
_______________
Функция с опреаторами if, else дает результат "а".
Тернарная функция тоже позволяет получить результат "а", но более коротким (при этом менее удобочитаемым) способом.
_______________
Функция с использованием циклов дает результат "b".
Функция с использованием рекурсии позволяет получить результат "b", но более коротким (при этом менее удобочитаемым) способом.
54. LIME - 02 Мая, 2012 - 19:47:46 - перейти к сообщению
Mefistofel пишет:
Функция с использованием цикла в любых случаях может дать тот же результат, что и функция с рекурсией???
нет
но если это возможно лучше избегать рекурсий
Mefistofel пишет:
Тернарная функция тоже позволяет получить результат
отличе в том что тернарный оператор может участвовать в выражении
например присвоении результата по условию
вот
55. Mefistofel - 02 Мая, 2012 - 19:51:33 - перейти к сообщению
LIME пишет:
отличе в том что тернарный оператор может участвовать в выражении

Отлично! Спасибо. А Вы не подскажете, почему все-таки у меня не обрабатываются различные варианты запросов? (см. выше)...
56. LIME - 02 Мая, 2012 - 20:05:08 - перейти к сообщению
Mefistofel там такие ошибки что становится понятно
вы даже HTML толком не знаете
учите, читайте
что-нибудь для чайников сначала
например где у вас в форме параметр president указан
нет ни в ссылке ни поля с таким именем
к томуже если указать его в ссылке как start.html?president=Медведев то русские символы надо кодировать
видели наверное в адресе чтото типа %20 итд
а еще вы уверены что у вас расшрение html обрабатывает интерпретатор php?
короче вот я упростил
PHP:
скопировать код в буфер обмена
  1. $sName = $_GET['president'];
  2.  
  3. $result = '';
  4.  
  5.  
  6. if($sName == 1)
  7.  
  8.  
  9. {
  10.         $result = 'пока еще президент';
  11. }
  12. else if($sName ==2)
  13. {
  14.         $result = 'Президент все-еще Дмитрий Анатоьевич Медведев';
  15. }
  16. else if($sName == 3)
  17. {
  18.         $result = 'Он еще инаугурацию не прошел';
  19. }
  20. else
  21. {
  22.         $result = 'Ему вообще не светит стать президентом';
  23. }
  24.  
  25. echo $result;
  26. ?>
  27.  
  28. <Html>
  29. <body>
  30. <form action="start.html?president=2">
  31.                 <input type="submit" value="вернуться к запросу" />
  32. </form>
  33. </body>
57. Mefistofel - 02 Мая, 2012 - 20:20:45 - перейти к сообщению
LIME пишет:
вы даже HTML толком не знаете

Нет Я его вообще не знаю...

LIME пишет:
учите, читайте


Все уроки прочел, теперь буду перечитывать, штудировать раз за разом, пока полностью не пойму все. Внимание

Цитата:
что-нибудь для чайников сначала


Скачал php для чайников, учебник по html.... Такая нудятина по сравнению с тем, что написано на сайте... Так тяжело дается..... Белый флаг Теперь в тему буду писать редко, скорее всего. Уйду в "библиотеку"....

LIME пишет:
видели наверное в адресе чтото типа %20 итд


Да, про кодировку я читал в уроках, но не видел необходимости ее применения - все отображалось на русском языке в окне браузера, а про адресную троку я и не подумал. - короче, теперь я имею некоторое представление о том, что буду НАЧИНАТЬ учить.

LIME пишет:
а еще вы уверены что у вас расшрение html обрабатывает интерпретатор php?


До этого вопроса был уверен... А?! Улыбка

Еще раз спасибо - буду стараться реже беспокоить форумчан.


СПАСИБО ВСЕМ!!! (сказал бы кнопочкой, да мало сообщений у меня - придет время - поблагодарю)..
58. LIME - 02 Мая, 2012 - 20:22:57 - перейти к сообщению
Mefistofel СНАЧАЛА html(хоть основные вещи...особенно формы)
и только потом пхп
иначе дальше сплошной затор
59. Mefistofel - 02 Мая, 2012 - 20:24:35 - перейти к сообщению
LIME пишет:
СНАЧАЛА html(хоть основные вещи...особенно формы)
и только потом пхп
иначе дальше сплошной затор


Параллельно не осилю?
60. LIME - 02 Мая, 2012 - 20:27:06 - перейти к сообщению
ну формы точно сначала почитай (хтмл)

 

Powered by ExBB FM 1.0 RC1