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.SU » Клиентская разработка » JavaScript & VBScript » Проблема передачи данных

Страниц (1): [1]
 

1. Bios - 16 Ноября, 2009 - 18:50:06 - перейти к сообщению
тут такая проблема ,есть скрипт

CODE (text):
скопировать код в буфер обмена
  1. <script language='javascript'>
  2. function AddRowsVote() {
  3.      var tbl = document.getElementById('tblvote');
  4.      var lastRow = tbl.rows.length;
  5.          if(lastRow<10){
  6.                  var row = tbl.insertRow(lastRow);
  7.                  var cellRight = row.insertCell(0);
  8.                  var el = document.createElement('input');
  9.                  el.setAttribute('style', 'padding-left:5px; font-weight:bold; width:220px;');
  10.                  el.setAttribute('type', 'text');
  11.                  el.setAttribute('name', 'answer[]');
  12.                  el.setAttribute('value', '');
  13.                  cellRight.appendChild(el);
  14.          }
  15. }
  16. function RemoveRowVote() {
  17.      var tbl = document.getElementById('tblvote');
  18.      var lastRow = tbl.rows.length;
  19.      if (lastRow > 1) tbl.deleteRow(lastRow - 1);
  20. }
  21. </script>
  22. <br>
  23. <table cellpadding="4" cellspacing="0" border="0" class="logincontrols" align="center">
  24. <form name="form_vote" id="form_vote" method="post" enctype="multipart/form-data">
  25. <tr>
  26.         <td>Вопрос: </td>
  27.         <td><input style="padding-left:5px; font-weight:bold; width:230px;" type="text" name="answer[]" value=""/></td>
  28.         <td>&nbsp;</td>
  29. </tr>
  30. <tr>
  31.         <td>Ответы: </td>
  32.         <td>
  33.                 <table border="0" cellspacing="0" cellpadding="0" id="tblvote">
  34.                         <tr id="row">
  35.                                 <td width="1" colspan="2"><input style="padding-left:5px; font-weight:bold; width:220px;" type="text" name="answer[]" value=""/></td>
  36.                         </tr>
  37.                 </table>
  38.     </td>
  39.         <td>&nbsp;</td>
  40. </tr>
  41. <tr>
  42.         <td></td>
  43.         <td><input type=button value="Удалить ответ" onClick="RemoveRowVote();return false;">
  44.         <input type=button value="Добавить ответ" onClick="AddRowsVote();return false;">
  45.     </td>
  46.         <td>&nbsp;</td>
  47. </tr>
  48. <tr>
  49.         <td colspan="3" align="center"><input type="submit" name="vote" class="button" value="  {name_submit}  "/></td>
  50. </tr>
  51. </form>
  52. </table>


в php скрипте

PHP:
скопировать код в буфер обмена
  1. $resultdb = $_POST['answer'];
  2. for($i=1,$j=0;$resultdb[$i];$i++,$j++){
  3.             $addanswer = @mysql_query("INSERT INTO vote_variant VALUE('".($count[vote_id]+1)."','".$resultdb[$i]."','".$j."','0')",$mysql);
  4. }


и базу заносится только первый Ответ ,остальные ответы не заносятся тоисть их вобще нету =(

как сделать чтобы вместе с первым ответом отправлялись и остальные ?
2. Мелкий - 16 Ноября, 2009 - 19:28:09 - перейти к сообщению
1) некорректен HTML код. форма должна в вашем случае открываться ДО таблицы, а закрываться После.
2) почему вы в цикле PHP не смотрите в нулевой вариант? Массивы с нуля отсчитываются.
3) var_dump($resultdb); не проясняет ситуацию? Может и не доходят данные?
3. Bios - 16 Ноября, 2009 - 20:02:59 - перейти к сообщению
1) хм... так там и есть....
2) 0 - как вы видите это Вопрос
3) так они и не доходят. я и спрашую как сделать так что бы дошло

я в яве скрипте не силен =(
4. Мелкий - 16 Ноября, 2009 - 20:14:29 - перейти к сообщению
1) корректно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <form ....>
  3. <table>
  4. <!-- содержимое и таблицы, и формы -->
  5. </table>
  6. </form>
  7.  

У вас - наоборот.
2) а, да. Не заметил. Непривычный способ.
3) а я JS не переношу большей частью... Так что может кто другой ответит.
5. biperch - 16 Ноября, 2009 - 20:27:12 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $resultdb = $_POST['answer'];
  2. for($i=1,$j=0;$resultdb[$i];$i++,$j++){
  3.             $addanswer = @mysql_query("INSERT INTO vote_variant VALUE('".($count[vote_id]+1)."','".$resultdb[$i]."','".$j."','0')",$mysql);
  4. }


Если я не ошибаюсь то в форе должно быть условие..
попробуй так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $resultdb = $_POST['answer'];
  3.  
  4. for($i=0,$j=0;$i<sizeof($resultdb);$i++,$j++){
  5.  
  6.  
6. Bios - 16 Ноября, 2009 - 20:53:56 - перейти к сообщению
biperch так тут не в php скрипте проблема =(
а в самом html коде

например я нажал кнопку "Добавить ответ" добавилось второе поле с ответом вписал что-нибуть
например в первое поле 111 во второе (то что я добавил через кнопку) 222
потом в php скрипте

PHP:
скопировать код в буфер обмена
  1.  
  2. $resultdb = $_POST['answer'];
  3. print($resultdb[2]);


по идеи тут $resultdb[2] должен быть текст 222 но тут пустота тоисть там ничего нету

если пропишу $resultdb[1] то будет 111
7. Phantik - 16 Ноября, 2009 - 20:56:21 - перейти к сообщению
Html-js код и PHP скрипт находятся в одном файле или разных?
8. Bios - 16 Ноября, 2009 - 20:59:23 - перейти к сообщению
Мелкий спасибо
проблема была в том что я не там форму открыл и закрыл ,но теперь все работает ;)

 

Powered by ExBB FM 1.0 RC1