Autor Zpráva
l564
Profil
Tak zase mi to hlasí error , a nevím si rady
$ulozfinal ='<A HREF="'.$odkaz.'" TARGET="_blank">'.$titulek.'</A><small><B>Přidal : </B><A HREF="mailto:'.$email.'">'.$autor.'</A></small>';


Výpis chyby :
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /3w/wz.cz/p/pridej/pridat.php on line 13
Anonym
Profil *
Co je na řádku 12 a 13?
l564
Profil
Tak sem dávám celý script
<?
$date = date("d M -",time() + $letozima);
 if (File_Exists("pridane_odkazy.html")):
$uloztxt = "\n\n\n";
$fp = FOpen("pridane_odkazy.html","a");
 if (!$fp)  return; ; else:
$fp=FOpen("pridane_odkazy.html","w");
$uloztxt = ""; if (!$fp) return; endif;
$ulozfinal ='<A HREF="'.$odkaz.'" TARGET="_blank">'.$titulek.'</A><small><B>Přidal : </B><A HREF="mailto:'.$email.'">'.$autor.'</A></small>';
FPutS($fp,$uloztxt.$ulozfinal);
FClose($fp);
?>
<?echo"<H4>Údaje byly uložené</H4> zpět na <A HREF="index.html">hlavní stranu</A>";?>
Anonym
Profil *
return - asi by to chtělo nějakou návratovou hodnotu a taky nějakou funkci
co má dělat if (!$fp) return; ?
Tori
Profil
Uvozovky.
Anonym
Profil *
Taky u toho posledního echa jsou špatně uvozovky.
Já bych to udělal takto:
<?php
  $hlaska='Údaje byly uložené';
  $date = date("d M -",time() + $letozima);
  $ulozfinal ='<A HREF="'.$odkaz.'" TARGET="_blank">'.$titulek.'</A><small><B>Přidal : </B><A HREF="mailto:'.$email.'">'.$autor.'</A></small>';
  if (File_Exists("pridane_odkazy.html"))
    {
    $uloztxt = "\n\n\n";
    $fp = FOpen("pridane_odkazy.html","a");
    if (!$fp) 
      {
      $fp=FOpen("pridane_odkazy.html","w");
      $uloztxt = ""; 
      if (!$fp) $hlaska='Chyba - údaje nebyly uložené';
      else
        {
        FPutS($fp,$uloztxt.$ulozfinal);
        FClose($fp);
        }
      }
    }
  echo'<H4>'.$hlaska.'</H4> zpět na <A HREF="index.html">hlavní stranu</A>';
?>
Tori
Profil
Anonym:
return - asi by to chtělo nějakou návratovou hodnotu a taky nějakou funkci
co má dělat if (!$fp) return;
Jak víte, že to není výsek z větší funkce? Nasvědčovalo by tomu i to, že dvě podmínky zůstanou otevřené (= váš přepis, byť podobný, má jinou logiku). Nebo to také může být include soubor, který je příkazem return ukončen a pokračuje nadřazený skript.
Pokud návrat.hodnota není zadaná (např. proto, že není potřeba), return vrátí null.
Anonym
Profil *
Tori:
Tak sem dávám celý script
věštit neumím
l564
Profil
Anonym:
Bylo by krásné kdyby ten tvůj script zapisoval , boužel , ukáže se že to bylo uložené , ale ve výchozím souboru se nic neukáže .

Byl bych rád , protože se PHP učím , tak jsem našel tento script který je pro me idealní , tak jesti by bylo možné mi pouze poupravit script a poukázat na chybu
candiess
Profil
l564:
<?echo"
1. mělo by se psát <?php, protože <? podporují jen některé verze PHP a <?php je přehlednější
2. měl bys to mít oddělené --> <?php echo

?echo"<H4>Údaje byly uložené</H4> zpět na <A HREF="index.html">hlavní stranu</A>";?>“ ???
echo "<h4>Údaje byly uložené</h4> zpět na <a href=\"index.html\">hlavni stranu</a>";
lacek
Profil
candiess, candiess:

hláška: Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\GGASTROSLUZBY\plugins\content\jumi.php(69) : eval()'d code on line 188

zdravíčko, mám obdobný problém

potřebuji dostat do skriptu print obrázek

script:
print "<table cellpadding='2' >";
.......................................................
print "<td>ZELENINOVÝ TALÍŘ<BR> '<img src="images/stories/sluzby/VEG_50.png" alt="Bez masa" />'</td><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>";

......................................
print "</tr></table>";


echo '<img src="images/stories/sluzby/VEG_50.png" alt="Bez masa" />'; >>funguje mimo print ale nějak bych toto potřeboval dostat do viz. výše kde to nefunguje



prosím o radu

děkuji
juriad
Profil
print "<td>ZELENINOVÝ TALÍŘ<BR> <img src=\"images/stories/sluzby/VEG_50.png\" alt=\"Bez masa\"> </td><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>";
Apostrofy tam nemají co dělat. A vnitřní uvozovky (kolem atributů) musíš escapovat zpětným lomítkem.
lacek
Profil
tak mi pomohlo odstranění uvozovek a apostrofů:

print "<td>ZELENINOVÝ TALÍŘ<BR> <img src=images/stories/sluzby/VEG_50.png alt=Bez masa /></td><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>";

ale toto mi funguje pouze na localu
na ostrém webu nepramává, ale už to nevpíše hlášku


děkuji


juriad:
děkuji juriad, vyzkoušel jsem rychleji než jsem se podíval zde na fórum
vyzkouším tvojí radu


lacek:
tak taky nefunguje
ale děkuji za reakci

tak už teď nevím, že by tam byl nějaký rozdíl mezi localem a webem


print "<td>ZELENINOVÝ TALÍŘ<BR> <img src=images/stories/sluzby/VEG_50.png alt=Bez masa /><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>";

v buňce se zobrazí > ZELENINOVY TALIR
Bez<
Joker
Profil
lacek:
tak mi pomohlo odstranění uvozovek a apostrofů
Nedoporučuji z kódu odmazávat věci, u kterých neznáte jejich účel. Kolem HTML atributů za určitých okolností uvozovky být nemusí, ale obecně se nedá říct, že by tam byly jen tak pro legraci.

Jinak při vypisování delších HTML kódů v PHP mi přijde nejlepší to teda za prvé nedělat (a mít HTML odděleně), ale když už přece, použít HEREDOC syntaxi:

$kod = <<<HTMLKOD
<td>ZELENINOVÝ TALÍŘ<BR> '<img src="images/stories/sluzby/VEG_50.png" alt="Bez masa" />'</td><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>
Nebo si tam můžu dát celkem libovolný kód a nemusím se starat o uvozovky…
HTMLKOD;

echo $kod;

Syntaxe je: Tři menšítka za sebou, pak nějaký zvolený klíč (zde HTMLKOD, nejlepší bude nějaká sekvence písmenek, která se v kódu samotném nevyskytuje), odřádkování.
Pak následuje samotný kód a ukončí se samostatným řádkem, na kterém je klíč a středník a nic jiného (ani mezery, tabulátory a podobně, jen odřádkování, klíč, středník, odřádkování).
Chro
Profil
Když už jsem to napsal...

Případně můžeš použít zápis zvaný heredoc a vyhnout se tak eskapování uvozovek nebo spojování řetězců. Hodí se zejména na delší texty a/nebo kódy jako HTML, XML a jiné odvozené aplikace tohoto formátu. Příklad:
$a = 'obrazek.jpg';
$ab = 'Petr';
echo <<<EOT
<span>Jmenuji se {$ab} a toto je moje fotografie.</span>
<img src="{$a}">
EOT;
Složené závorky okolo proměnných můžeš vynechat, pokud názvy proměnných neobsahují podtržítko.
Uvozující řetězce EOT můžeš nahradit jinými, např. BLOKKODU (jen písmena angl. abecedy), tento řetězec se však nesmí vyskytovat dále ve výstupu, až zase na konci.
EOT; na konci nesmí být nijak odsazen.
lacek
Profil
Chro:
děkuji,
vyzkouším
a nebude vadit že do buněk se zapisuje cyklusem?
děkuji
<?php
//správné načtení CSV souboru s českými znaky
function getCsv($fh, $len=255, $delim=';', $newline="n")
{
  if (!$fh || feof($fh)) return false;
  $ret = false;
  $buffer = '';
  $inquote = false;
  while(!feof($fh)) {
    $s = chop(fgets($fh, $len));

    if ($s != '') for ($i=0; $i<strlen($s); $i++) {
      switch($char = substr($s,$i,1)) {
      case '"':
        if (substr($s,$i+1,1) == '"') {
          $i++;
        } else {
          $inquote = !$inquote;
          continue 2;
        }
        break;
      case $delim:
        if (!$inquote) {
          $ret[] = $buffer;
          $buffer = '';
          continue 2;
        }
        break;
      }
      $buffer .= $char;
    }

    if (!$inquote || feof($fh)) {
      if (!feof($fh)) $ret[] = $buffer;
      $buffer = '';
      break;
    } else {
      $buffer .= $newline;
    }
  }

  return $ret;
}
//***************
$weekday = Date('w');

///////////////////////////////////
//NOVINKA       ve stredu i podle casu
 $hodinna = Date("H", Time()); 
 
/////////////////////////////////////

   // get url
   $instance =& JURI::getInstance();
   $url = JURI::getInstance()->toString();
if ((($weekday >= 3)  && ($hodinna >= 15)) ||(($weekday >= 4) ||($weekday == 0) )  ) {
//***************
print '<p>přejít na : <a href="'.JRoute::_($url).'#next">jídelní lístek pro následující týden</a></p>';
//***************
} else {
}
  //***************
//cteni csv souboru
    $fh = fopen("CSV/HJ.csv","r") or die('err');
////////vykonna cast programu
        while(!feof($fh)) {
      $x = getcsv($fh,999999,';','n');
      if ($x) $bunka=$x;
                }
    fclose($fh);
    $oddata = explode ("-", $bunka[0]);
    $dodata = explode ("-", $bunka[1]);
print "<table cellpadding='2' >";
    print "<th colspan='10'>pro týden od $oddata[2].$oddata[1].$oddata[0] do $dodata[2].$dodata[1].$dodata[0]</th><tr class='tableFrame' bgcolor='#c8c8c8'>";
    print "<td>DRUH JÍDLA<br>gramáž<br>zvýhodněná</td><td align='center'>PONDĚLÍ</td><td align='center'>ÚTERÝ</td><td align='center'>STŘEDA</td><td align='center'>ČTVRTEK</td><td align='center'>PÁTEK</td><td align='center'>1)SOBOTA<BR>2)NEDĚLE</td>";
    print "</tr><tr class='jidel1row'>";
    print "<td>POLÉVKY<BR>0,3 l</td><td>$bunka[9]<br><div class='textGreen'>$bunka[10]</div></td><td>$bunka[11]<br><div class='textGreen'>$bunka[12]</div></td><td>$bunka[13]<br><div class='textGreen'>$bunka[14]</div></td><td>$bunka[15]<br><div class='textGreen'>$bunka[16]</div></td><td>$bunka[17]<br><div class='textGreen'>$bunka[18]</div></td><td>$bunka[19]<BR>$bunka[20]</td>";
    print "</tr><tr class='jidel2row'>";
    print "<td>KLASICKÁ JÍDLA<BR>100 g</td><td>$bunka[21]<br><div class='textBlue'>$bunka[23]</div><br><div class='textPink'>$bunka[25]</div></td><td>$bunka[27]<br><div class='textBlue'>$bunka[29]</div><br><div class='textPink'>$bunka[31]</div></td><td>$bunka[33]<br><div class='textBlue'>$bunka[35]</div><br><div class='textPink'>$bunka[37]</div></td><td>$bunka[39]<br><div class='textBlue'>$bunka[41]</div><br><div class='textPink'>$bunka[43]</div></td><td>$bunka[45]<br><div class='textBlue'>$bunka[47]</div><br><div class='textPink'>$bunka[49]</div></td><td>$bunka[51]<BR>$bunka[52]</td>";
    print "</tr><tr class='jidel1row'>";
    print "<td>VÝBĚROVÁ JÍDLA<BR>120 g</td><td>$bunka[53]<br><div class='textBlue'>$bunka[55]</div><br><div class='textPink'>$bunka[57]</div></td><td>$bunka[59]<br><div class='textBlue'>$bunka[61]</div><br><div class='textPink'>$bunka[63]</div></td><td>$bunka[65]<br><div class='textBlue'>$bunka[67]</div><br><div class='textPink'>$bunka[69]</div></td><td>$bunka[71]<br><div class='textBlue'>$bunka[73]</div><br><div class='textPink'>$bunka[75]</div></td><td>$bunka[77]<br><div class='textBlue'>$bunka[79]</div><br><div class='textPink'>$bunka[81]</div></td><td>$bunka[83]<BR>$bunka[84]</td>";
    print "</tr><tr class='jidel2row'>";
    print "<td>SPECIALITY<BR>150 g</td><td>$bunka[85]<br><div class='textBlue'>$bunka[87]</div></td><td>$bunka[89]<br><div class='textBlue'>$bunka[91]</div></td><td>$bunka[93]<br><div class='textBlue'>$bunka[95]</div></td><td>$bunka[97]<br><div class='textBlue'>$bunka[99]</div></td><td>$bunka[101]<br><div class='textBlue'>$bunka[103]</div></td><td></td>";
    print "</tr><tr class='jidel1row'>";
   print "<td>ŽLUČNÍKOVÁ DIETA<BR>80 g</td><td>$bunka[105]<br><div class='textBlue'>$bunka[106]</div></td><td>$bunka[108]<br><div class='textBlue'>$bunka[109]</div></td><td>$bunka[111]<br><div class='textBlue'>$bunka[112]</div></td><td>$bunka[114]<br><div class='textBlue'>$bunka[115]</div></td><td>$bunka[117]<br><div class='textBlue'>$bunka[118]</div></td><td></td>";
    //print "</tr><tr class='jidel2row'>";
    //print "<td>DIABETICKÁ DIETA<BR>100 g</td><td>$bunka[69]</td><td>$bunka[70]</td><td>$bunka[71]</td><td>$bunka[72]</td><td>$bunka[73]</td><td></td>";
    print "</tr><tr class='jidel2row'>";
    print "<td>MOUČNÉ JÍDLO</td><td>$bunka[120]<br><div class='textBlue'>$bunka[122]</div></td><td>$bunka[124]<br><div class='textBlue'>$bunka[126]</div></td><td>$bunka[128]<br><div class='textBlue'>$bunka[130]</div></td><td>$bunka[132]<br><div class='textBlue'>$bunka[134]</div></td><td>$bunka[136]<br><div class='textBlue'>$bunka[138]</div></td><td></td>";
    print "</tr><tr class='jidel1row'>";
    print "<td>ZELENINOVÝ TALÍŘ</td><td>$bunka[140]</td><td>$bunka[142]</td><td>$bunka[144]</td><td>$bunka[146]</td><td>$bunka[148]</td><td></td>";
    print "</tr><tr class='jidel2row'>";
    print "<td>SALÁTY</td><td>$bunka[150]<br>$bunka[152]</td><td>$bunka[154]<br>$bunka[156]</td><td>$bunka[158]<br>$bunka[160]</td><td>$bunka[162]<br>$bunka[164]</td><td>$bunka[166]<br>$bunka[168]</td><td></td>";
    print "</tr><tr class='jidel1row'>";
    print "<td>KLASICKÉ JÍDLO<BR>2. SMĚNA<BR>100 g</td><td>$bunka[170]</td><td>$bunka[171]</td><td>$bunka[172]</td><td>$bunka[173]</td><td>$bunka[174]</td><td></td>";
    print "</tr><tr class='jidel2row'>";
    print "<td>VÝBĚROVÉ JÍDLO<BR>2. SMĚNA<BR>120 g</td><td>$bunka[175]</td><td>$bunka[176]</td><td>$bunka[177]</td><td>$bunka[178]</td><td>$bunka[179]</td><td></td>";
    print "</tr><tr class='textBlackMini'>";
    print "<td colspan='7'>Poznámky k jídelnímu lístku:&nbsp;$bunka[180]</td>";
    print "</tr><tr class='textBlackMini'>";
    print "<td colspan='7'>Vyhotovil:&nbsp;$bunka[182]</td>";
    print "</tr><tr class='textBlackMini'>";
    print "<td colspan='7'>Datum:&nbsp;$bunka[181]</td>";
    print "</tr></table>";
Joker
Profil
lacek:
Nedává moc smysl volat funkci getcsv cyklem (a už vůbec ne cyklusem), když ta funkce sama čte celý obsah souboru najednou.
Pro informaci, PHP už obsahuje funkci, která umí zpracovat CSV data (ta čte naráz jeden řádek, takže tam volání v cyklu smysl má).

Krom toho mi tenhle způsob výpisu připadá hrozně nepřehledný.
Buď bych ten HTML kód udělal zvlášť, ale jelikož se generují stále stejné buňky, byl bych v pokušení to generovat cyklem.
Ještě poznámka, CSS třídy je lepší pojmenovávat logickým významem toho na co se používají, ne jejich vzhledem. Pak po čase změníte vzhled a může se stát, že třída textGreen bude modrá, textBlue červená a tak dále.
lacek
Profil
Joker děkuji,

už mi to funguje pomocí HEREDOC syntaxe


palec hore

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: