Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Nie działa echo<<<END
Forum PHP.pl > Forum > Przedszkole
Soldier13
Witam serdecznie
dawno mnie tutaj nie było.

Mam problem, przypominam sobie php i nie działa mi funkcja
  1. echo<<<END
  2.  
  3. END;


wyskakuje taki błąd w przeglądarce: Parse error: syntax error, unexpected '<<' (T_SL) in D:\studia\PROGRAMOWANIE\xampp\htdocs\php1\echo.php on line 16

linia 16 to właśnie echo<<<END -bez spacji, ze spacjami, nie działa

  1. <?php //tagi php
  2.  
  3. $paczki = $_POST["paczkow"]; //może być cudzysłów,apostrof, do zmiennej paczki włożyłem wartość
  4. //wartośc przesłaną methodą post z z elementów formularza o name paczkow
  5. $rogali = $_POST["rogalikow"];
  6.  
  7. echo<<<END //jest to zrobionie zeby nie pisać ciągle echo echo, nie może być ani spacji ani tabulacji na początku
  8.  
  9.  
  10.  <table border="1" cellpadding="10" cellspacing="0"> //border pogrubiona tabela 1 cellpadding to odsępy między napisem a linią tabeli
  11. //cellspacing to odstępy między tabelkami
  12. // <tr> </tr> wiersz <td></td>kolumna
  13.  
  14. <tr>
  15. <td>pączki po zł </td><td> </td>
  16. </tr>
  17. <tr>
  18. <td>rogaliki po zł</td><td> </td>
  19. </tr>
  20. <tr>
  21. <td>suma</td><td> </td>
  22. </tr>
  23.  
  24. </table> //koniec tabeli
  25.  
  26. END; //jest to zrobionie zeby nie pisać ciągle echo echo, nie może być spacji tutaj ani tabulacji
  27.  
  28.  
  29. ?> <!--tagi php-->




działa natomiast taki kod:
  1. <?php //tagi php
  2.  
  3. $paczki = $_POST["paczkow"]; //może być cudzysłów,apostrof, do zmiennej paczki włożyłem wartość
  4. //wartośc przesłaną methodą post z z elementów formularza o name paczkow
  5. $rogali = $_POST["rogalikow"];
  6.  
  7.  
  8.  
  9.  
  10. echo '<table border="1" cellpadding="10" cellspacing="0"> '; //border pogrubiona tabela 1 cellpadding to odsępy między napisem a linią tabeli
  11. //cellspacing to odstępy między tabelkami
  12. // <tr> </tr> wiersz <td></td>kolumna
  13. echo ' <tr>
  14. <td>pączki po zł </td><td> </td>
  15. </tr>
  16.  
  17. <tr>
  18. <td>rogaliki po zł</td><td> </td>
  19. </tr>
  20.  
  21. <tr>
  22. <td>suma</td><td> </td>
  23. </tr>';
  24.  
  25. echo '</table>'; //koniec tabeli
  26.  
  27.  
  28.  
  29.  
  30. ?>




Jakieś podpowiedzi dlaczego to echo<<<END END; nie działa?


viking
Wywal komentarz po echo<<<END
Soldier13
Cytat(viking @ 13.10.2019, 13:13:28 ) *
Wywal komentarz po echo<<<END



dzięki viking
powiem Ci tak, że nawet wywalenie komentarza nie pomogło, tylko nawet musiałem spacje usunąć za echo>>>END

w każdym razie pomogło, dzięki wielkie

w sumie to ciekawe dlaczego ten program nie rozpoznał, że to komentarz...

a mam jeszcze w sumie drugie pytanie:

dlaczego taki kod:
  1. <?php
  2.  
  3. $paczki = $_POST["paczkow"];
  4.  
  5. $rogali = $_POST["rogalikow"];
  6.  
  7. $suma = $paczki * 1 + $rogali * 2;
  8.  
  9.  
  10.  
  11. echo '<table border="1" cellpadding="10" cellspacing="0"> ';
  12.  
  13. echo ' <tr>
  14. <td>pączki po 1 zł </td> .<td> $paczki </td>
  15. </tr> ';
  16.  
  17. echo ' <tr>
  18. <td>rogaliki po 2zł</td> <td>$rogali </td>
  19. </tr> ';
  20.  
  21. echo ' <tr>
  22. <td>suma</td> <td>$suma PLN </td>
  23. </tr>';
  24.  
  25. echo '</table>';
  26.  
  27. ?>


daje taki efekt:

obrazek

dlaczego nie są wyświetlane zmienne tylko ich nazwy?
viking
Bo ' wyświetla ciąg as is. Poczytaj trochę o stringach. Tam są wszystkie odpowiedzi na twoje pytania. Dodatkowo ja bym się zastanowił na przyszłość nad jakimś systemem szablonów.
tangel
Ja zawsze przypisuję ciąg znaków do zmiennej np:
  1. $html = <<<EOD
  2. <tr>
  3. <td>TEST</td>
  4. </tr>
  5. EOD;

I potem dopiero echo $html;
PHP w pojedynczych cudzysłowach traktuje zmienne jako nazwę zmiennej, w podwójnych natomiast podstawi zawartość zmiennej do tekstu
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.