Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]błąd w class - serwer zwraca błąd
Forum PHP.pl > Forum > Przedszkole
agata
witam,
prosiłabym o pomoc.

Mam klasę wysyłającą maila, w Netbeans kod jest w porządku jednak na serwerze nie jest wykonywany z powodu błędu.

Błąd który dostaje to:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/www/sites/yoyo.pl/p/a/pablo83/class.emailer.php on line 11

o to class:
  1. <?php
  2. class Emailer {
  3.  
  4. private $sender;
  5. private $recipients;
  6. private $subject;
  7. private $body;
  8.  
  9. function __construct($sender) {
  10. $this->sender = $sender;
  11. $this->recipients = array();
  12. }
  13. public function addRecipients($recipients){
  14. array_push($this->recipients, $recipients);
  15. }
  16. public function setSubject($subject){
  17. $this->subject = $subject;
  18. }
  19. public function setBody($body){
  20. $this->body = $body;
  21. }
  22. public function sendEmail(){
  23. foreach ($this->recipients as $recipients)
  24. {
  25. $results = mail($recipients, $this->subject, $this->body, "From: {$this->sender}\r\n");
  26. if ($results) echo "Wiadomość została wysłana do {$recipients}<br/>";
  27. }
  28. }
  29.  
  30. }
  31. ?>


Czym jest spowodowany powyższy błąd? może to być winą innej wersji php na serwerze?
serwer to:

yoyo.pl

Proszę o pomoc
taktu
  1. public function __construct
poza tym
  1. #zamiast
  2. $this->recipients = array();
  3.  
  4. #można zrobić
  5. private $recipients = array();
agata
nadanie public konstruktorowi nic nie zmienia.

mam jeszcze jeden problem, mianowicie mam skrypt książkowy który, cały czas zwraca mi błędy:
  1. <?php
  2. class WordCounter{
  3. const ASC=1;
  4. const DESC=2;
  5. private $words;
  6.  
  7. function __construct($filename) {
  8. $file_content = file_get_contents($filename);
  9.  
  10. $this->word =(array_count_values(str_word_count(strtolower($file_content),1)));
  11. }
  12. public function count($order){
  13.  
  14. if($order == self::ASC)
  15. asort($this->words);
  16. else if($order == self::DESC)
  17. arsort($this->words);
  18. foreach ($this->words as $key => $value)
  19. echo $key ." = ". $value."<br/>";
  20. }
  21. }
  22. ?>
  23.  
  24. <?php
  25. // to osobny plik
  26. include_once ("class.wordcounter.php");
  27.  
  28. $wc = new WordCounter("word.txt"); // w pliku znajduje się przykładowy tekst
  29. $wc->count(WordCounter::DESC);
  30.  
  31. ?>

w odpowiedzi dostaje błędy:

Warning: arsort() expects parameter 1 to be array, null given in C:\xampp\htdocs\projekt1\class.wordcounter.php on line 29

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\projekt1\class.wordcounter.php on line 30

ok co do drugiego skryptu, znalazłam błąd smile.gif literówka w 10 linii ma być words.

Jednak w pierwszej klasie nadal wywala błąd i nie wiem dlaczego
uzi123
Wrzuciłem Twój kod do mnie i działa poprawnie, błędów nie zgłasza. Nie do końca rozumiem dlaczego. Spodziewałbym się, że gdzieś masz jakiś dziwny znak, którego twój edytor nie wyświetla. Obejrzyj dokładnie co masz w linii 11 (w końcu tam jest zgłaszany błąd) w kilku edytorach. Może jest to problem przenoszenia pliku windows-linux? Jakie masz kodowanie? Jak na yoyo.pl dają dostęp przez ssh to obejrzyj plik w vi
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.