podmínka if kde je chyba?
17 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
zdravím mám formulář a u jedné textarei mám: <TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"41\" rows=\"4\"> if (empty($_POST["citovat"])) {echo "aaaa";} else{echo "AAAA";} </TEXTAREA> a $_POST["citovat"] se naplní v jinem formuláři který je pod tímto formulářem a posílá to pomocí POST: echo "<form name=\"citovat\" method=\"POST\">"; <input type=\"image\" name=\"citovat\" value=\"".$zaznam["id"]."\" src=\"../image/citovat.gif\"> pokud si vypíšu jinde $_POST["citovat"] vypíše správnou hodnotu id ael v podmínce to jaksi nebere
-
a co vám to teda vypisuje? Nic? Co vám vypíše v některé větvi die(var_dump(empty($_POST["citovat"]))) ?
-
no napíše: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\Program Files\VertrigoServ\www\link\kecarna.php on line 32 tam je ale : if (empty($_POST["citovat"])) {echo "aaaa";} a osobně tam chybu nevidím. a jinde mi stejný kod funguje v pohode
-
<TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"41\" rows=\"4\"> if (empty($_POST["citovat"])) {echo "aaaa";} else{echo "AAAA";} </TEXTAREA> tohle nechápu - má to být html nebo php? Nechybí tam náhodou znaky <? a ?> nebo příkazy echo pokud to celé je php?
-
No tak opraveno a funguje ale jenom v FF(IE mi to nebere) nemohlo by to býti tím že mám formulář a vněm více inputů se stejným name? ale vždy s jinou hodnotou. koukněte na kecárnu na mojich stránkách a uvidíte co mám namysli. pokud kliknete na citovat odešle se na tuto stránku ID které vytáhne z databáze vzkaz a vloží ho do <textarey> podmínka je psáne výše
-
Taky může být chyba na řádku 31
-
řádek 31 (ted 147) <td rowspan=\"3\"><TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"55\" rows=\"4\">"; řádek 32(ted 148) if (empty($_POST["citovat"])) {echo "Váš příspěvek";} else{ $vysledek=mysql_query("SELECT * FROM kniha where id='".$_POST["citovat"]."'"); while ($zaznam=MySQL_Fetch_Array($vysledek)) echo "[blockquote][b]".$zaznam["jmeno"].":[/b][br]".$zaznam["vzkaz"]."[/blockquote]"; } echo "</TEXTAREA></td> a $_post["citovat"] se bere právě po kliknutí na "(citovat)" který je plněn dle výsledku databáze a vypadá takto (jen část) echo "<form name=\"citovat\" method=\"POST\">"; <div align=\"right\"> <input type=\"image\" name=\"citovat\" value=\"".$zaznam["id"]."\" src=\"../image/citovat.gif\"></div> echo "</form>"; a IE mi to právě nebere (prý ani konquektor bo jak se to píše) na stránce je pak tedy více inputu se jmenem name=citovat ale jiným value jak by se to dalo vyřešit?
-
Neměl by ten řádek 31 vypadat spíš takto?: echo "<td rowspan=\"3\"><TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"55\" rows=\"4\">"; Jinak mi to totiž nedává smysl.
-
<? echo "<td rowspan=\"3\"><TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"55\" rows=\"4\">"; if (empty($_POST["citovat"])) {echo "Váš příspěvek";} else{ $vysledek=mysql_query("SELECT * FROM kniha where id='".$_POST["citovat"]."'"); while ($zaznam=MySQL_Fetch_Array($vysledek)) echo "[blockquote][b]".$zaznam["jmeno"].":[/b][br]".$zaznam["vzkaz"]."[/blockquote]"; } echo "</TEXTAREA></td>"; echo "<form method=\"POST\">"; echo" <div align=\"right\">"; echo"<input name=\"citovat\" type=\"hidden\" value=\"".$zaznam['id']."\">"; echo"<input type=\"image\" src=\"../image/citovat.gif\"></div>"; echo "</form>"; ?>
-
I když teď na to koukam, že těžko to může něco vypsat z databáze když podmínku že id má hodnotu citovat. where id='".$_POST["citovat"]."' nebo máš v tabulce pod id ty texty?
-
2Radek: ne já si načtu řádek s volaným id a zobrazím pouze jmeno a vzkaz. Problem NENÍ že to nic nevypisuje. vypisuje to v pohodě ale jen ve FF to funguje IE nebere vůbec tu podmínku if: echo "<td rowspan=\"3\"><TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"55\" rows=\"4\">"; if (empty($_POST["citovat"])) {echo "Váš příspěvek";} else{ $vysledek=mysql_query("SELECT * FROM kniha where id='".$_POST["citovat"]."'"); while ($zaznam=MySQL_Fetch_Array($vysledek)) echo "[blockquote][b]".$zaznam["jmeno"].":[/b][br]".$zaznam["vzkaz"]."[/blockquote]"; } echo "</TEXTAREA></td>"; a místo toho vypisuje jen pořád : Váš příspěvek koukni nato a uvidíš sám (jedná se o kecárnu)
-
Chyba je v tom že proměnná $_POST['citovat'] je pořád prázdná, tím pádem if (empty($_POST["citovat"]) je pravdivá. Funkce empty() je pravdivá, jestliže proměnná v závorce nebyla vytvořena, má nulovou nebo prázdnou hodnotu.
-
Důvod toho je v tomto. Tlačítko s obrázkem - type = "image" Toto tlačítko slouží k odeslání formuláře podobně jako tlačítko submit. Tlačítko má podobu obrázku, jehož URL zadáme pomocí atributu src. Zarovnávání obrázku s okolím můžeme ovlivnit atributem align, který má stejný význam jako u elementu img pro vkládání obrázku. Můžeme použít i další atributy běžné u obrázků. Tlačítko s obrázkem funguje podobně jako klikací mapa, s ostatními daty formuláře jsou odeslány i informace o místě, kde došlo ke kliknutí. Místo kliknutí je odesláno ve dvou položkách udávajících souřadnice x a y. Tyto složky jsou ve skriptu přístupné v proměnných, jejichž jméno odpovídá obsahu atributu name doplněnému o _x resp. _y .
-
dobře tyto připomínky beru ale jen mi vysvětlete proč to FF bere a IE ne. vím že IE je "divnej" čím to tedy napravit pokud chci vytvořit to co mám namysli tak aby to fungovalo? A <input type=submit ....> bych nerad použil protože by to nevypadalo "hezky"
-
něco jako zde kde ale to reagovat "necituje"
-
<? include"./const.php"; echo "<td rowspan=\"3\"><TEXTAREA id=\"vzkaz\" name=\"vzkaz\" cols=\"55\" rows=\"4\">"; if (empty($_GET["id"])) {echo "Váš příspěvek";} else{ $vysledek=mysql_query("SELECT * FROM kniha where id='".$_GET['id']."'"); while ($zaznam=MySQL_Fetch_Array($vysledek)) echo "[blockquote][b]".$zaznam["jmeno"].":[/b][br]".$zaznam["vzkaz"]."[/blockquote]"; } echo "</TEXTAREA></td>"; echo"</tr>"; echo"</table><br />\n"; $query = "SELECT * FROM kniha "; $result = mysql_query ($query) or die ("Query failed"); while ($line = mysql_fetch_array($result)) { echo"<table width=\"550\">"; echo"<tr>"; echo"<td>$line[text]<br />"; echo "<div align=\"right\"><a href=\"ppp.php?id=".$line['id']."\">CITOVAT</a></div>"; echo"</td>"; echo"</tr>"; } echo "</table>"; ?>
-
Nj to mě ne napadlo ;-) a i by to šlo