| 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írovatPokud 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: 15 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0