Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Bład składniowy, pomocy:/
Forum PHP.pl > Forum > Przedszkole
batonik20
Witam, chciałbym zapytać gdzie w tym kodzie jest błąd

<?php
for($odl = 50; $odl <= 250; $odl += 50)
{
echo "<tr><td align="right">".$odl."</td>";
echo "<td align="right">".$odl / 10."</td></tr>';
}
?>
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' on line 17

próbowałem na różne sposoby i nie wiem jak to zapisać poprawnie, pomóżcie.
sadistic_son
Cudzysłowy pomyliłeś:
  1. echo '<tr><td align="right">'.$odl.'</td>';
  2. echo '<td align="right">'.$odl / 10.'</td></tr>';
NEO.pl
Cytat(batonik20 @ 25.03.2011, 16:33:46 ) *
echo "<tr><td align="right">".$odl."</td>";
echo "<td align="right">".$odl / 10."</td></tr>';
próbowałem na różne sposoby i nie wiem jak to zapisać poprawnie, pomóżcie.


Zamiast takich potworkow (albo co gorsza, echo "foo \"bar\"") ktore az sie prosza o sknocenie, dlaczego nie uzyjesz np: printf('<td align="right">%s</td>', $odl); I czytelniejsze i skopac trudniej
batonik20
no i tak jest coś nie tak, może mam źle skonfigurowany xampp? bo w wyniku dostaje coś takiego

\n \n"; echo "\n\n"; } ?>
Odleg�o�� Koszt
$od ". $od / 10 ."

że nie ma polskich to mniejszy problem muszę zmienić kodowanie, ale dlaczego pod $odl i $odl/10 nie wstawia liczb??
batonik20
a i taki błąd:/

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'
Turson
$_POST
batonik20
odl nie jest pobierany jest zdeklarowany w tym skrypcie, ale nawet jak dopisałem to ten sam błąd:/

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Koszt</title>
</head>

<body>
<table border = "0" cellpadding="3">
    <tr>
        <td bgcolor="#CCCCCC" align="center">Odległość</td>
        <td bgcolor="#CCCCCC" align="center">Koszt</td>
    </tr>
    <?php
    for($odl = 50; $odl <= 250; $odl += 50)
    {
                echo '<tr><td align="right">'.$odl.'</td>';
                echo '<td align="right">'.$odl / 10.'</td></tr>';
    }
    ?>
</table>
</body>
</html>


Cytat(NEO.pl @ 25.03.2011, 16:52:35 ) *
Zamiast takich potworkow (albo co gorsza, echo "foo \"bar\"") ktore az sie prosza o sknocenie, dlaczego nie uzyjesz np: printf('<td align="right">%s</td>', $odl); I czytelniejsze i skopac trudniej


hm tym sposobem działa, ale dlaczego przez "echo" nie??
Turson
Gdzie w ogóle masz zdefiniowaną zmienną $odl?
batonik20
przy pierwszym użyciu w funkcji for?? tak miałem w kursie... moglibyście wytłumaczyć dlaczego przez printf działa a przez echo nie i jak to poprawić?

jak już korzystam z Waszej pomocy to zapytam jeszcze o takie coś:
kod:
Kod
<td>Jak dowiedzieli się Państwo o sklepie </td>
        <td><select name="jak">
            <option value="a">Jestem stałym klientem</option>
            <option value="b">Reklama telewizyjna</option>
            <option value="c">Książka telefoniczna</option>
            <option value="d">Znajomy</option>
            </select>
       </td>

i dane te sa wysyłane przez POST do innej strony i tam mam kod
Kod
switch($jak)
    {
        case 'a';
            echo'<P>Stały kient.';
            break;
        case 'b';
            echo'<P>Reklama telewizyjna.';
            break;
        case 'c';
            echo'<P>Ksiązka telefoniczna.';
            break;
        case 'd';
            echo'<P>Znajomy.';
            break;
        default;
            echo '<P>Zródło nieznane.';
            break;
    }


i bład:Notice: Undefined variable: jak in C:\xampp\htdocs\moje\janek\przetworzone.php
robie kurs i tam tak jest ale no nie działa://
NEO.pl
Cytat(batonik20 @ 25.03.2011, 17:24:09 ) *
switch($jak)


switch( $_POST['jak'] )

poczytaj co to bylo register_globals i dlaczego to zlo.
Cytat
robie kurs i tam tak jest ale no nie działa://


Wyrzuc ten kurs. To smiec jakis przestarzaly (tak na oko PHP4).
batonik20
fakt działa, dzięki:)
a z tym echo?? wiem że mogę używać tego printf ale chciałbym wiedzieć w czym tkwi tam problem...
NEO.pl
To zadanie domowe dla Ciebie na weekend smile.gif Poczytaj najpier troche podstaw: http://pl.php.net/manual/en/language.types.string.php bo mam wrazenie nie rozumiesz do konca czym dokladnie jest string i po co (oraz *jak*) uzywa sie " czy ' . Jak to ogarniesz, to bedzie jasne dlaczego zapis ktory wykonales w swoim poczatkowym kodzie jest bledny (i czym rozni sie podany przeze mnie printf() -> bo to nie kwestia uzycia prinf() czy echo())
batonik20
tongue.gif
wiem że w zapisie z " php szuka zmiennych nawet jak ich tam nie ma i dlatego jest to metoda wolniejsza niż ' w której twardo określamy że to co się w tym znajduję ma być wydrukowane bez zmian... dobrze kminie?wink.gif

udało sięsmile.gif
Kod
echo ('<td align="right">'.$odl.'</td>');
     echo ('<td align="right">'.$odl/"10".'</td>');

działa;)
dzięki wszystkim za help;)
NEO.pl
Cytat(batonik20 @ 25.03.2011, 18:52:19 ) *
wiem że w zapisie z " php szuka zmiennych nawet jak ich tam nie ma i dlatego jest to metoda wolniejsza niż ' w której twardo określamy że to co się w tym znajduję ma być wydrukowane bez zmian... dobrze kminie?wink.gif

Tak, choc akurat nie o to chodzi w tym przypadku smile.gif Napisales takie cos:

echo "<tr><td align="right">".$odl."</td>";

dla PHP drugi napotkany " (przed 'right') zamykal ciag ciag znakow ktory otworzyles, wiec dla parsera tam bylo cos takiego:

echo "<tr><td align=" i dalej jakies smieci i dlatego dostales blad skladni. Jesli zrobilby tak:

echo '<tr><td align="right">' . $odl . "</td>";

to problemu by nie bylo. Rowniez taki zapis bylby poprawny (choc szpetny i sugeruje unikac jesli nie uzywasz character escaping swiadomie ):

echo "<tr><td align=\"right\">" . $odl . "</td>";


Finalnie - sugeruje znajdz sobie jakis sensowny edytor z podswietlaniem skladni (np. ja lubie jedit.org + PHP parser plugin, ale generalnie dowolny mniej pokraczny niz niejaki notatnik powinien dac rade). Od razu bys widzial ze cos nie tak (bo akurat ten problem ze stringami nie jest zwiazany li tylko z php) i kazde podswietlanie by Ci to pokazalo.

Cytat
echo ('<td align="right">'.$odl/"10".'</td>');


A tak dycha to w cudzyslowiach po co? Chyba musisz przeczytac rozdzial jeszcze raz smile.gif
batonik20
o dzięki za info teraz to czuje;) no ten mój ostatni z "" dziwny ale o dziwo działał:0

zainstalowałem jEdit i ten plugin ale wcale nic mi nie podkreśla ani nie sprawdza:/
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.