Autor Zpráva
opicakuz
Profil
Zdravím,
řeším problém z uvozovkami. Jsem v php začátečník a snažím se pouze přidat na web kód zkopírovaný z jiné části webu, kterou jsem nevytvářel.

Takhle to funguje, akorát to kvůli závorkám typu '' nevyhodnocuje proměné.
<?php 

echo "Nejbližší koupaliště ('.round($model->nearestKM,2).' km) obec <strong>'.$model->nearestID->site2->town_ste.'</strong>: '.CHtml::link($model->nearestID->site2->name_ste,array('ste/view','id'=>$model->nearestID->site2->id_ste)')"

; ?>

Pokud však změním všechny uvozovky na dvojité, už to hází chybu.

Budu rád za jakoukoli radu.


předem díky
Destiny_1
Profil
Uvozovky by měly být dvojité...v oop nejsem moc dobrý, ale řekl bych že ta část odkud jste to zkopíroval si includuje soubor s třídami ... a taky bych řek že chybí něco jako $model = new trida();
Actimel
Profil
Pokud máš problémy s uvozovkami, je dobré takovýto kód spojovat po částech - udělat si to "vrozově" a pak doplnit už konkrétní funkce a proměnné. Dál je důležité vědět rozdíl mezi " a '.

Takto by to mohlo vypadat - projdi si to :)

echo "Nejbližší koupaliště (".round($model->nearestKM,2)." km) obec <strong>".$model->nearestID->site2->town_ste."</strong>: ".CHtml::link($model->nearestID->site2->name_ste,array('ste/view','id'=>$model->nearestID->site2->id_ste));
Alphard
Profil
Mezi dvojitými uvozovkami se nahrazují proměnné (a některé další sekvence), mezi apostrofy ne.
Doporučují nepsat tak dlouhé řádky, je to nepřehledné.

echo 'Nejbližší koupaliště ('
  .round($model->nearestKM,2)
  .' km) obec <strong>'
  .$model->nearestID->site2->town_ste
  .'</strong>: '
  .CHtml::link($model->nearestID->site2->name_ste,array('ste/view','id'=>$model->nearestID->site2->id_ste));
opicakuz
Profil
Zdravím,
v prví řadě děkuji za ochotu.

Bohužel když na web vložím kód, který jste sem hodili, vypíše to doslova toto (včetně uvozovek):

echo "Nejbližší koupaliště (" .round($model->nearestKM,2) ." km) obec " .$model->nearestID->site2->town_ste .': " .CHtml::link($model->nearestID->site2->name_ste,array('ste/view','id'=>$model->nearestID->site2->id_ste));

Čili stále stejný problém. :-(
Joker
Profil
opicakuz:
Použijte pro psaní PHP kódu nějaký slušný editor, který bude obarvovat řetězce, tak jako se obarvují ve vložených kódech tady na diskusi.
Pak snadno uvidíte problémové místo.

Ale jinak úplně základní rada je: Řetězec musíte ukončit stejným způsobem, jakým jste ho začal. Když začne uvozovkou, musí skončit uvozovkou, když začne apostrofem, musí skončit apostrofem (a upřímně řečeno tohle je snad první případ, kdy vidím, že se to někdo snaží kombinovat).
opicakuz
Profil
Používám na to PSPad, který to zobrazuje, ale stále ne a ne se chytnout, viz můj předchozí příspěvek.
jenikkozak
Profil
Problém začíná u třetího připojeného řetězce - toho, který začíná apostrofem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: