Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błędy w kodzie PHP
Forum PHP.pl > Forum > PHP
bartinkopl
Witam

A więc, problem przedstawia się następująco

Znalazłem na necie prosty kod .php który korzysta z bazy danych - to jest kod na bota

  1. <form method="post">
  2. <input type="text" name="q" />
  3. <br/>
  4. <input type="submit" value="ok" />
  5. </form>
  6.  
  7. <?
  8.  
  9. $chat_file = 'chat.ini';
  10.  
  11. if(isset($_POST['q']))
  12. {
  13.  
  14. $baza = parse_ini_file($chat_file, true);
  15.  
  16. $baza_keys = array_keys($baza);
  17.  
  18. $baza_val = array_values($baza);
  19.  
  20. $string = strtolower($_POST['q']);
  21.  
  22. $tablica = explode(" ", $string);
  23.  
  24. $i = 0;
  25.  
  26. $count_tab = count($tablica);
  27.  
  28. while($i<$count_tab)
  29. {
  30.  
  31. $klucz = array_search($tablica[$i], $baza_keys);
  32.  
  33. $i++;
  34.  
  35. if($klucz == true)
  36. {
  37.  
  38. $found_v = $baza_val[$klucz];
  39.  
  40. }
  41. }
  42.  
  43.  
  44. if(empty($found_v))
  45. {
  46. $found_v = $baza['alternative'];
  47. }
  48.  
  49. $count_v = count($found_v) - 1;
  50.  
  51. $rand = rand(0, $count_v);
  52.  
  53. $odp = $found_v[$rand];
  54.  
  55. echo $odp;
  56. }
  57.  
  58. ?>


A to plik chat.ini , z którego kod korzysta:
Kod
[manual]; ta opcja jest pusta , ponieważ bot nie interpretuje pierwszego klucza
[undefined]
0 = "undefined"

[czesc]
0 = "Czesc"
1 = "Witam Ciebie"
2 = "Siemka"
3 = "Dzien dobry"
4 = "Hej"
5 = "Witaj"

[siema]
0 = "Czesc"
1 = "Witam Ciebie"
2 = "Siemka"
3 = "Dzien dobry"
4 = "Hej"
5 = "Witaj"

[hej]
0 = "Czesc"
1 = "Witam Ciebie"
2 = "Siemka"
3 = "Dzien dobry"
4 = "Hej"
5 = "Witaj"

[joł]
0 = "Czesc"
1 = "Witam Ciebie"
2 = "Siemka"
3 = "Dzien dobry"
4 = "Hej"
5 = "Witaj"

[witaj]
0 = "Czesc"
1 = "Witam Ciebie"
2 = "Siemka"
3 = "Dzien dobry"
4 = "Hej"
5 = "Witaj"

[pa]
0 = "pa"
1 = "papa"
2 = "na razie"

[murzyn]
0 = "To tylko kwestia oswietlenia"
1 = "Pracuje w kopalni"

[medycyna]
0 = "Medycyna (łac. medicina ?sztuka lekarska?) ? nauka empiryczna (oparta na doświadczeniu) obejmująca całość wiedzy o zdrowiu i chorobach człowieka oraz sposobach ich zapobiegania oraz ich leczenia[1]. Medycyna weterynaryjna rozszerza zakres zainteresowań medycyny na stan zdrowia zwierząt. Za prekursora medycyny starożytnej uważa się Hipokratesa, a nowożytnej Paracelsusa. W czasach najnowszych wprowadza się zasady medycyny opartej na faktach."

[afryka]
0 = "Tak, w Afryce jest ciepło"
1 = "Good Murzyn z afrika"

[banan]
0 = "Ma wiele składników odżywczych
1 = "Jest żółty"

[alternative]
0 = "mhm... to bardzo interesujące"
1 = "może rozwiniesz swoją myśl?"
2 = "chyba nie rozumiem o co Ci chodzi"
3 = "lubisz francuskie filmy?"


Wszystko chodziło świetnie a tu nagle ni z gruchy ni z pietruchy wyrzuciło mi takie błędy - chociaż w kodzie nic nie zmieniałem, jedynie dodawałem nowe rzeczy do bazy danych, nawet po usunięciu nowych rzeczy z bazy danych dalej wyrzuca te błędy:

Warning: syntax error, unexpected $end, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or '"' in chat.ini on line 69 in /home/codecalm/public_html/bartos/pages/bot.php on line 14

Warning: array_keys() expects parameter 1 to be array, boolean given in /home/codecalm/public_html/bartos/pages/bot.php on line 16

Warning: array_values() expects parameter 1 to be array, boolean given in /home/codecalm/public_html/bartos/pages/bot.php on line 18

Warning: array_search() expects parameter 2 to be array, null given in /home/codecalm/public_html/bartos/pages/bot.php on line 31
nospor
nie:
[medycyna]
0 = "1 linia
2 linia
3 linia"

a:
[medycyna]
0 = "1 linia2 linia3 linia"

smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.