Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]nic sie nie dzieje po przesiadce z php4 na php5
Forum PHP.pl > Forum > Przedszkole
uglukha
witam,
mam taki prosty skrypt do komentarzy, dodaja sie do pliku "strona.php.comment" jesli wpisujemy je na "strona.php" + jest tu recaptcha do weryfikacji.
wszystko dziala pieknie w php4, po przesiadce na php5, nie laduje plikow z .comment ani nie zapisuje nowych komentarzy. Jakies pomysly czemu tak moze byc?

p.s. nie wyswietlaja sie zadne bledy.
p.s.2 wycialem klucze z recpatchy winksmiley.jpg


  1. <FORM method="post">
  2. <P class="pfooter">nick</P>
  3. <INPUT name="name" type="text" size="40">
  4. <P class="pfooter">komentarz</P>
  5. <TEXTAREA name="message" rows=3 cols=40></TEXTAREA><BR><BR>
  6. <P class="pfooter">weryfikacja obrazkowa</P>
  7.  
  8. <?
  9. require_once('recaptchalib.php');
  10. $publickey = "wyciete"; // you got this from the signup page
  11. echo recaptcha_get_html($publickey);
  12. ?>
  13. <BR><BR>
  14. <INPUT name="submit" type="submit" value="Wyslij">
  15. </FORM>
  16. <HR>
  17.  
  18. <?
  19. if ($message)
  20. {
  21. require_once('recaptchalib.php');
  22. $privatekey = "wyciete";
  23. $resp = recaptcha_check_answer ($privatekey,
  24. $_SERVER["REMOTE_ADDR"],
  25. $_POST["recaptcha_challenge_field"],
  26. $_POST["recaptcha_response_field"]);
  27.  
  28. if (!$resp->is_valid) {
  29. die ( include ("footer-error.inc") );
  30. }
  31.  
  32. $name = strip_tags($name);
  33. $message = strip_tags($message);
  34. $message = ereg_replace("\r\n\r\n", "\n<BR>", $message);
  35. $date = date("d-m-Y, H:i");
  36. $message = "<P><B>$name </B> - $date <BR> $message </P><HR>";
  37. $fp = fopen (basename($PHP_SELF) . ".comment", "a");
  38. fwrite ($fp, $message);
  39. fclose ($fp);
  40. }
  41.  
  42. @readfile(basename(($PHP_SELF . ".comment")));
  43. ?>
Maxik
Spróbuj zamienić $PHP_SELF na $_SERVER['PHP_SELF']
uglukha
zamienialem, ale nie dalo zadnego efektu sad.gif
Fafu
poczytaj o register globals i albo włącz albo pozmieniaj w kodzie
Maxik
Wrzuć przed całym skryptem error_reporting(E_ALL); i ini_set('display_errors', 1);
uglukha
pozmienialem zmienne na format $_POST['message'] i na $_SERVER['PHP_SELF'] i skrypt znowu dziala...

nadal jednak mam problem z wyswietlaniem bledow, a raczej ich brakiem.

probowalem "error_reporting(E_ALL); i ini_set('display_errors', 1);" ale to nie daje zadnych efektow, nie wypluwa bledow

natomiast wszelkie kombinacje w .htaccess typu:

php_value error_reporting 8191

koncza sie bledem 500.

jakies pomysly?

domyslnie server dziala na php4 i tym trybie normalnie zwraca info o kazdym bledzie

aby dzialac w php5 wklejam do .htaccess:
AddHandler application/x-httpd-php5 .php

i wtedy nie ma raportowania bledow :/


Maxik
Zamień te dwie funkcje miejscami, czyli najpierw ini_set, potem error_reporting
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.