Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapętliłem się. Próba stworzenia quizu przez użytkownika
luke18dg
post 15.02.2013, 19:20:44
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 26.03.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Witam, tak jak w temacie zapętliłem się i nie wiem jak zbrekować tą pętle. Przedstawiony poniżej skrypt miał działać na celu.
Naciśnięcie przycisku
1 pole_wielokrotnego - utworzenia miejsca na pytania, także miejsce na dwie odp. Jeśli, został naciśnięty przycisk dodaj_odp: numer, miał się wyświetlić dodatkowe pole na odp. Następnie wyświetlenia jeśli były poprzednich pytań i odp.
2 pole_jednokrotnego - tak samo dla wielokrotnego tylko zamiast kratek na wielokrotne to na jednokrotne.
3 pole_tekstowe - wyświetlenie pola tekstowego o domyślnych parametrach.
I mój błąd polega, że zwątpiłem bo ciągle wyskakują dziwnego pochodzenia błędy:
Cytat
Notice: Undefined offset: 5 in C:\Programy\SERWERWWW\htdocs\innawersja\dodawaniequizu.php on line 67

A dotyczą co dziwniejsze:
  1. switch($tablica[$i]['typpola'])

Próbowałem żałośnie także usunąć wszystko z $_SESSION['dane'] i przywrócić formularz do formy pierwotnej jaką widujemy na początku, ale także ta próba umarła.
A oto cały kod:
  1. <?php
  2. /*
  3.   W - pole wielokrotnego wyboru
  4.   J - pole jednokrotnego wyboru
  5.   T - pole tekstowe
  6.  */
  7. if(!(empty($_SESSION['dane']))){$tablica=$_SESSION['dane'];}
  8. if(!(empty($tablica)))
  9. {
  10. $keys=array_keys($tablica);
  11. $ostatni=$keys[count($keys)-1];
  12. $ostatni+=1;
  13. }
  14. else {$ostatni=1;}
  15. if(!(empty($_GET['dodac'])))
  16. {
  17. switch($_GET['dodac'])
  18. {
  19. case 'pole_wielokrotnego':
  20. {
  21. $tablica[$ostatni]['name']='pytanie'.$ostatni;
  22. $tablica[$ostatni]['value']='';
  23. $tablica[$ostatni]['typpola']='W';
  24. $tablica[$ostatni]['poprawna']='';
  25. $tablica[$ostatni]['liczbaodp']=0;
  26. $tablica[$ostatni][0]='';
  27. break;
  28. }
  29. case 'pole_jednokrotnego':
  30. {
  31. $tablica[$ostatni]['name']='pytanie'.$ostatni;
  32. $tablica[$ostatni]['value']='';
  33. $tablica[$ostatni]['typpola']='J';
  34. $tablica[$ostatni]['poprawna']='';
  35. $tablica[$ostatni]['liczbaodp']=0;
  36. $tablica[$ostatni][0]='';
  37. break;
  38. }
  39. case 'pole_tekstowe':
  40. {
  41. $tablica[$ostatni]['name']='pytanie'.$ostatni;
  42. $tablica[$ostatni]['typpola']='T';
  43. $tablica[$ostatni]['value']='';
  44. break;
  45. }
  46. /*case 'skasuj':
  47.   {
  48.   unset($_SESSION['dane']);
  49. header('Location: index.php');
  50.   }*/
  51. }
  52. $odpowiedznr=explode(':',$_GET['dodac']);
  53. $keys = array_keys($odpowiedznr);
  54. $ostatniodp = $keys[count($keys)-1];
  55. if($ostatniodp>0) {$tablica[$odpowiedznr[1]]['liczbaodp']+=1;}
  56. }
  57. echo '<html><head><title>Tworus Lukasz</title><meta name="author" content="Tworus Łukasz"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  58. </head><body><form action="dodawaniequizu.php"><table border="1">';
  59. //****************MOZNA SKASOWAC POZNIEJ***********
  60. // echo '<tr><td><input type="submit" value="skasuj"></td></tr>';
  61. //*************************************************
  62. if(!(empty($tablica)))
  63. {
  64. for($i=1; $i<$ostatni+1; $i++)
  65. {
  66. switch($tablica[$i]['typpola'])
  67. {
  68. case 'T':
  69. {
  70. echo '<tr><td>'.$i.' <input type="text" name="'.$tablica[$i]['name'].'"';
  71. if(!(empty($tablica[$i]['value']))) {echo 'value="'.$tablica[$i]['value'].'"';}
  72. echo '></td></tr>';
  73. break;
  74. }
  75. case 'J':
  76. {
  77. echo '<tr><td>'.$i.' <input type="text" name="'.$tablica[$i]['name'].'"';
  78. if(!(empty($tablica[$i]['value']))) {echo 'value="'.$tablica[$i]['value'].'"';}
  79. echo '></td></tr>';
  80. if($tablica[$i]['liczbaodp']==0) {$tablica[$i]['liczbaodp']=1;}
  81. for($j=0; $j<$tablica[$i]['liczbaodp']+1; $j++)
  82. {
  83. echo '<tr><td><input type="radio" name="odpowiedz'.$ostatni.'" value="'.$j.'"> <input type"text" name="odpowiedztekst'.$ostatni.'"';
  84. if(!(empty($tablica[$i][$j]))){echo 'value="'.$tablica[$i][$j].'"';}
  85. echo'></td></tr>';
  86. }
  87. echo '<tr><td><input type="submit" value="dodajodp:'.$i.'" name="dodac"></td></tr>';
  88. break;
  89. }
  90. case 'W':
  91. {
  92. echo '<tr><td>'.$i.' <input type="text" name="'.$tablica[$i]['name'].'"';
  93. if(!(empty($tablica[$i]['value']))) {echo 'value="'.$tablica[$i]['value'].'"';}
  94. echo '></td></tr>';
  95. if($tablica[$i]['liczbaodp']==0) {$tablica[$i]['liczbaodp']=1;}
  96. for($j=0; $j<$tablica[$i]['liczbaodp']+1; $j++)
  97. {
  98. echo '<tr><td><input type="checkbox" name="odpowiedz'.$ostatni.'" value="'.$j.'"> <input type"text" name="odpowiedztekst'.$ostatni.'"';
  99. if(!(empty($tablica[$i][$j]))){echo 'value="'.$tablica[$i][$j].'"';}
  100. echo'></td></tr>';
  101. }
  102. echo '<tr><td><input type="submit" value="dodajodp:'.$i.'" name="dodac"></td></tr>';
  103. break;
  104. }
  105. }
  106. }
  107. $_SESSION['dane']=$tablica;
  108. echo($_SESSION['dane']);
  109. }
  110. echo'<tr><td><input type="submit" value="pole_wielokrotnego" name="dodac"><input type="submit" value="pole_jednokrotnego" name="dodac">
  111. <input type="submit" value="pole_tekstowe" name="dodac"> <br></td>
  112. <tr>
  113. <td><input type="submit" value="wyslij"></td>
  114. </tr>
  115. </table></form></body></html>';
  116. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:50