Autor | Zpráva | ||
---|---|---|---|
bismakrxie Profil |
#1 · Zasláno: 25. 9. 2010, 21:42:15 · Upravil/a: bismakrxie
Dobrý den, mám vytvořený kód na odesílání formuláře a zároveň i vypsání jejich hodnot. Vše funguje jak má, ale přišel jsem na jeden problém, při vložení
<script>window.location.href = window.location; </script> Mám script: <?php include "pages/databaze.shtm"; echo ("<h2>Zde nám můžete nechat vzkaz</h3><br><br><br><br></h2>"); if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="") { if(mysql_num_rows($result)==0){ $dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz"); $radek = mysql_fetch_array($dotaz); $por=$radek['MAX(poradi)']+1; //vlozeni do databaze mysql_query("INSERT INTO vzkaz VALUES(null, '{$_POST['jmenovzkaz']}', '{$_POST['vzkaz']}', $por)"); } else echo("Tato položka již existuje!"); } $label="Odeslat vzkaz"; $result = mysql_query('SELECT * FROM vzkaz ORDER BY poradi DESC'); if (!$result) { die('Nefunkční SQL dotaz'); } echo('<form method="post"> <input type="hidden" name="IDvzkaz" value="'.$row['ID'].'"> Jméno a Příjmení<br><input type="text" name="jmenovzkaz"><br><br> Vzkaz<br><textarea name="vzkaz" cols="60" rows="10" wrap="soft" id="odradkovani"></textarea><br> <input type="submit" name="odeslatvzkaz" value="'.$label.'"> </form> <table>'); ......atd |
||
Keeehi Profil |
#2 · Zasláno: 25. 9. 2010, 21:48:54 · Upravil/a: Keeehi
Pokud chcete html tagy smazat, použijte
strip_tags(); Pokud je chcete neškodně vypsat, pak htmlspecialchars(); Použijte to na $_POST['jmenovzkaz'] $_POST['vzkaz']
k přečtení Ještě by se hodilo při tvorbě sql dotazu používat mysql_real_escape_string(); |
||
bismakrxie Profil |
#3 · Zasláno: 25. 9. 2010, 21:50:35
Keeehi:
děkuji vyzkouším a podělím se o výsledek |
||
bismakrxie Profil |
#4 · Zasláno: 25. 9. 2010, 22:05:37 · Upravil/a: bismakrxie
<?php include "pages/databaze.shtm"; echo ("<h2>Zde nám můžete nechat vzkaz</h3><br><br><br><br></h2>"); if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="") { htmlspecialchars($_POST['jmenovzkaz']); htmlspecialchars($_POST['vzkaz']); if(mysql_num_rows($result)==0){ $dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz"); $radek = mysql_fetch_array($dotaz); $por=$radek['MAX(poradi)']+1; //vlozeni do databaze mysql_query("INSERT INTO vzkaz VALUES(null, '{$_POST['jmenovzkaz']}', '{$_POST['vzkaz']}', $por)"); } else echo("Tato položka již existuje!"); } $label="Odeslat vzkaz"; $result = mysql_query('SELECT * FROM vzkaz ORDER BY poradi DESC'); if (!$result) { die('Nefunkční SQL dotaz'); } echo('<form method="post"> <input type="hidden" name="IDvzkaz" value="'.$row['ID'].'"> Jméno a Příjmení<br><input type="text" name="jmenovzkaz"><br><br> Vzkaz<br><textarea name="vzkaz" cols="60" rows="10" wrap="soft" id="odradkovani"></textarea><br> <input type="submit" name="odeslatvzkaz" value="'.$label.'"> </form> <table>'); nevím jestli jsem to vložil tam kam sem měl, nepovedlo se. |
||
Keeehi Profil |
#5 · Zasláno: 25. 9. 2010, 22:54:23
if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="") { $jmenovzkaz=mysql_real_escape_string(htmlspecialchars($_POST['jmenovzkaz'])); $vzkaz=mysql_real_escape_string(htmlspecialchars($_POST['vzkaz'])); if(mysql_num_rows($result)==0){ $dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz"); $radek = mysql_fetch_array($dotaz); $por=$radek['MAX(poradi)']+1; //vlozeni do databaze mysql_query("INSERT INTO vzkaz VALUES(null, '$jmenovzkaz', '$vzkaz', $por)"); } else echo("Tato položka již existuje!"); } // dále je to zbytečné kopírovat Pokud přidáte sloupci poradi AUTO INCREMENT, můžete vynechat tento kód: $dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz"); $radek = mysql_fetch_array($dotaz); $por=$radek['MAX(poradi)']+1; Ten dotaz by ak vypadal takto: INSERT INTO vzkaz (sloupec_ke_kteremu_patri_null , loupec_ke_kteremu_patri_jmeno , loupec_ke_kteremu_vzkaz) VALUES (null, '$jmenovzkaz', '$vzkaz'); |
||
bismakrxie Profil |
#6 · Zasláno: 25. 9. 2010, 23:39:07
děkuji Vám strašně moc za pomoc. Vše funguje dokonale:)
|
||
Časová prodleva: 14 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0