Autor Zpráva
cernajs
Profil
Zdravím chtěl bych jenom poprosit jestli yb mi ěnkdo řekl co je v tomhle špatně.

  <form action="" method="post">
         <textarea name="nick" cols="40" rows="1"></textarea>
         <textarea name="sourad" cols="40" rows="1"></textarea>
         <textarea name="vlozil" cols="40" rows="1"></textarea>
         <input type="submit" name="seznamupload" id="seznamupload" value="Poslat" />
         </form>
<?php
require_once('Soubor pro spojení s db') ;
if($_GET['akce'] == "smazat"){ 
mysql_query("DELETE FROM seznam WHERE id = '".$_GET['id']."'"); 
    }
if(isset($_POST['seznamupload'])){
mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."".$_POST['sourad']."".$_POST['vlozil']."')");
        echo "Text úspěšně přidán.";
        echo '<br>';
    }
$result = mysql_query("SELECT * FROM seznam ORDER BY id DESC");
while ($vypis = mysql_fetch_array($result)){
if($prava['mazat']==1)
{
  $smazat= "[<a href=\"?p=novinky&akce=smazat&id=".$vypis['id']."\">smazat</a>]";
}
echo "<table bgcolor='black' border='1'>" ;
echo "<tr><td>".$vypis['nick']."</td><td>".$vypis['sourad']."</td><td>".$vypis['vlozil']."".$smazat."</td></tr>";
echo "</table";
}
?>

Tohle je celý obsah souboru includuju ho totiž do zbytku stránky.

JEŠTĚ EDIT: 1 id int(11) Ne Žádná AUTO_INCREMENT
2 nick text utf8_czech_ci Ne Žádná
3 sourad text utf8_czech_ci Ne Žádná
4 vlozil text utf8_czech_ci Ne Žádná

(Tohle jsou sloupce z db)
abc
Profil
cernajs:
Ahoj, v rychlosti:
1) není ošetřeno SQL injection
2) by bylo príma, kdybys napsal, co nefunguje
pcmanik
Profil
cernajs:
Co ti mame ako kritizovat? Neosetrujes vstupne premenne, kod nijak nestrukturujes, insert mas zle zapisany, takze kod ti ani fungovat nemoze.
cernajs
Profil
Nechce mi to jenom do db zapisovat ale echo že se přidalo mi to vyhodí proto sem požádal o to kde mám chybu protože jí neumím najít a moc se v tom nevyznám je to jenom takovej projekt co mě napadnul tak si hraju :-)


pcmanik:
Přístup tam bude mít jenom asi deset lidí proto moc neošetřuju zapisování janak tohel celý je skovaný pod heslem bez možnosti registrace.
pcmanik
Profil
cernajs:
Tak ked ti to nezapisuje do databazy, tak bude chyba asi tam nemyslis? Mas zlu syntax INSERT prikazu. A je logicke ze to vzdy vypise ze to bolo pridane, ked tam nemas podmienku
Magnus123
Profil
SQLinjection ale není na škodu ošetřit. :-)

Jinak v INSERTu je chyba v tom, že to chceš zapsat jako jeden string, tzn. by se nick, sourad i vlozil uložilo do sloupce nick.
<?php
mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."', '".$_POST['sourad']."', '".$_POST['vlozil']."')");
?>

Jinak je, alespoň podle mě, lepší používat funkci mysql_fetch_assoc() než mysql_fetch_array().
Chuchycek
Profil
Co se podívat na řádek 13 a do sql dotazu? A co tam je asi špatně?
Máš to tam mít takto:
mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."','".$_POST['sourad']."','".$_POST['vlozil']."')");

[#6] Magnus123 byl jsi rychlejší :D
cernajs
Profil
Magnus123:
Aha tak v tomhle sme ěml chybu a přitom by si jeden řekl že to je prkotina díky moc za objasnění kde sem codělal špatně :-)

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: