Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Nie działa echo<<<END, zwykłe echo działa.
Soldier13
post 13.10.2019, 11:58:49
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.01.2014

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


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?


Go to the top of the page
+Quote Post
viking
post 13.10.2019, 12:13:28
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Wywal komentarz po echo<<<END


--------------------
Go to the top of the page
+Quote Post
Soldier13
post 13.10.2019, 12:46:39
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.01.2014

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


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?
Go to the top of the page
+Quote Post
viking
post 13.10.2019, 13:08:13
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


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.


--------------------
Go to the top of the page
+Quote Post
tangel
post 18.10.2019, 08:37:39
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.10.2019

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


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
Go to the top of the page
+Quote Post

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: 29.03.2024 - 06:54