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 :: Версия для печати :: Вопросы новичка опытным [4]
Форумы портала PHP.SU » PHP » Программирование на PHP » Вопросы новичка опытным

Страниц (5): « 1 2 3 [4] 5 »
 

46. setix - 24 Августа, 2009 - 12:22:59 - перейти к сообщению
вопрос:
Когда то спрашивал как можно передать параметр с hid на форму (на 1 странице).
Было предложено 2 варианта с помощью методов POST и GET. Тогда когда задавал вопрос использовал GET. Но решил испробовать тоже самое но метод POST. При попытке использования данной подсказки на форуме

JustUserR пишет:
Если именно POST-методом тогда так

JustUserR пишет:

<a href="#" onClick="document.forms["frm"].submit()">Ссылка</a>
<form method="POST" action="index0.php" name="frm" style="display:none">
<input type="hidden" name="hid" value="2.php">
</form>


Оказалось что данный способ не передает параметр HID.
PS или я не правильно его использую или автор сделал ошибку в коде. Как можно передать параметр при нажатии ссылку не используя GET?.
47. Champion - 24 Августа, 2009 - 12:28:07 - перейти к сообщению
Скажи, как ты к нему в скрипте обращаешься?
48. setix - 24 Августа, 2009 - 15:39:58 - перейти к сообщению
Я думаю обращение к данной функции происходит при щелчке на слове ссылка.

Цитата:
<a href="#" onClick="document.forms["frm"].submit()">Ссылка</a>


правда думаю что не порисходит обращение к описаному фрагменту так как onClick для <a></a> тегов не возможен. Хотя автор привел именно такой пример обращения.
49. will123 - 24 Августа, 2009 - 16:42:04 - перейти к сообщению
Извините за наитупейший из тупейших вопрос, не коректное отображение кириллицы. Вот код всей страницы допустим index.php:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.     echo "Привет мир!";  
  3. ?>


Привет мир выводится кракозябрами. Что и где нужно изменить для решения проблемы?
Пишу на локалхосте, поставил денвер
50. Ледовский - 24 Августа, 2009 - 16:55:35 - перейти к сообщению
При попытке в ниже приведенном скрипте в 21 строке заменить get на post скрипт перестает работать.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //функция вывода формы добавления записи
  4. function htmlform()
  5. {
  6. echo
  7. <<<eot
  8.         <form name="guest" method="get" action="/index.php" enctype="text/plain">
  9.         <table align="center">
  10.         <tr>
  11.         <td><input type=hidden name=act value=1></td>
  12.         <tr>
  13.           <td>Имя:</td>
  14.           <td align="right"><input name="name" value="" type="text" size="30"></td>
  15.         </tr>
  16.         <tr>
  17.           <td>Город:</td>
  18.           <td align="right"><input name="city" value="" type="text" size="30"></td>
  19.         </tr>
  20.         <tr>
  21.           <td>e-mail:</td>
  22.           <td align="right"><input name="mail" value="" type="text" size="30"></td>
  23.         </tr>
  24.         <tr>
  25.           <td colspan="2">Сообщение:<br><textarea name="msg" value="" rows="10" cols="40"></textarea>
  26.           <br><input type="submit" name="send" value="отправить"></td>
  27.         </tr>
  28.         </table>
  29.         </form>
  30. eot;
  31. }
  32.  
  33. //функция вывода сообщений
  34. function message_tpl($a)
  35. {
  36. $dir = "message/";
  37. $file ="$dir$a";
  38. $c = @file_get_contents($file);
  39. $mess = explode("|",$c);
  40. $date = $mess[0];
  41. $name = $mess[1];
  42. $city = $mess[2];
  43. $mail = $mess[3];
  44. $msg = $mess[4];
  45. $tpl =
  46. <<<eot
  47. <table width = 95%>
  48.         <tr>
  49.                 <td>
  50.                 <a href="mailto:$mail">$name</a>
  51.                 </td>
  52.                 <td align="right">
  53.                 $date
  54.                 </td>
  55.         </tr>
  56.        
  57.         <tr>
  58.                 <td colspan="2">
  59.                 $city
  60.                 </td>
  61.         </tr>
  62.        
  63.         <tr>
  64.                 <td colspan="2" valign = "top" style = "height: 150px; border: 1px solid;">
  65.                 $msg
  66.                 </td>
  67.         </tr>
  68. </table>
  69. eot;
  70. echo $tpl;
  71. }
  72.  
  73. //получаем данные из формы и удаляем теги
  74. $name = strip_tags($_REQUEST["name"]);
  75. $city = strip_tags($_REQUEST["city"]);
  76. $mail = strip_tags($_REQUEST["mail"]);
  77. $msg = strip_tags($_REQUEST["msg"]);
  78. $date = date("d-m-y G:i");
  79. $act = $_REQUEST["act"];
  80. $mess = "$date|$name|$city|$mail|$msg";
  81.  
  82.  
  83. //проверяем данные
  84. $error = "";
  85. //проверяем имя
  86. if (empty($name)):
  87. $error.= 'Вы не ввели имя!!!<br>';
  88. endif;
  89. $name = substr($name,0,20);
  90. //проверяем поле город
  91. $city = substr($city,0,30);
  92. //проверяем e-mail
  93. if (empty($mail)):
  94. $error.= 'Вы не ввели e-mail!!!<br>';
  95. elseif (!preg_match("/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/",$mail)):
  96. $error.= 'Введите e-mail вида user@host.ru<br>';
  97. endif;
  98. //проверяем сообщение
  99. if (empty($msg)):
  100. $error.='Вы не ввели сообщение!!!<br>';
  101. endif;
  102. $msg = substr($msg,0,200);
  103.  
  104.  
  105.  
  106.  
  107.  
  108. //записываем сообщение
  109. $d = date(dmygi);
  110. $file = "message/$d.txt";
  111. if (empty($error)):
  112. $a = fopen($file,w);
  113. if ( fwrite($a,$mess)):
  114. print 'сообщение записано';
  115. endif;
  116. fclose($a);
  117. endif;
  118.  
  119.  
  120. //выводим сообщения
  121. $file1 = opendir("message");
  122. while (false !== ($arr = readdir($file1))):
  123. if ($arr != "." && $arr != ".."):
  124. $book[] = $arr;
  125. endif;
  126. endwhile;
  127. closedir($file1);
  128. rsort($book);
  129. array_walk($book,message_tpl);
  130.  
  131.  
  132. //вывод формы отображение ошибок
  133. if ($act !=""):
  134. print $error;
  135. endif;
  136. $form = htmlform();
  137. echo "<p>$form</p>";
  138.  
51. Champion - 24 Августа, 2009 - 18:48:17 - перейти к сообщению
Ледовский пишет:
скрипте в 21 строке заменить get на post
Как?? Где оно в 21 строке? А вообще, если меняешь гет на пост, то просто обращаться надо к этому не $_GET, а угадай как.
52. setix - 24 Августа, 2009 - 19:17:20 - перейти к сообщению
will123 проблемы у тебя на компе или браузере. Значит он не правильно выводит русские символы.

Ледовский рекомендую просмотреть тему формы (в поисковике посмотри там куча инфы, где то на первых страницах была ссылка хорошая).

1. если используешь метод POST(GET), то и данные считывай методом POST(GET).
2. Кстати тот код который ты приводишь вряд ли кто то будет разбирать /лично моё мнение/. Посмотри может есть описание на том форуме откуда этот код скопировал.
(Добавление)
Champion мне бы с вами пообщаться? ася или скайп есть?
53. Champion - 24 Августа, 2009 - 19:20:42 - перейти к сообщению
will123, поменяй пока кодировку в браузере.
(Добавление)
setix, ася в профиле указана.
54. setix - 24 Августа, 2009 - 19:24:03 - перейти к сообщению
Champion В асю зашел но у вас статус невидимый или не включена она
55. will123 - 24 Августа, 2009 - 20:24:14 - перейти к сообщению
setix пишет:
will123 проблемы у тебя на компе или браузере. Значит он не правильно выводит русские символы.
В браузере стоит utf-8, в файле php.ini default charset поставил utf-8, но все равно проблема осталась
56. will123 - 25 Августа, 2009 - 20:35:41 - перейти к сообщению
разобрался... проблема была в файлах httpd.conf и php.ini, надо было в них прописать кодировки
57. Random - 26 Августа, 2009 - 12:44:03 - перейти к сообщению
вопросик..
есть такая страничка.. в страничке таблицы, формы создается динамически (данные поднимаю из базы, объемные)..
вот когда у меня запускается страничка.. он у меня висит (обращение с базой)..
в итоге выходит по кускам записи.. мне бы одним мигом открывался страничка..
может в памяти сохранить, потом загружать.. как можно избежать от этого проблемы..
58. Stierus - 26 Августа, 2009 - 14:44:38 - перейти к сообщению
Создай 2 дива. В одном будет надпись "подождите, идёт загрузка", во второй весь контент.
Изначально 1-й див видимый, второй - нет ... тоесть у пользователя виси только надпись "подождите, идёт загрузка", как только вся инфа загружена - первый делаешь невидимым, а второй - видимым ... это у тебя оментально показываются данные.
59. EuGen - 26 Августа, 2009 - 14:50:25 - перейти к сообщению
Вообще-то, постарайтесь разделить статику и динамику в контенте.
Ну и, если объем данных все равно велик, сделайте кэширование например. (а-ля memcached)
60. Random - 26 Августа, 2009 - 21:23:19 - перейти к сообщению
какой-нить статьи есть.. на мои случай..
(Добавление)
Stierus-ом согласен. неплохой вариант.
у меня чето не получается. можете скрипт выложить.

EuGen, тож спс. блогадарен за помощь.

 

Powered by ExBB FM 1.0 RC1