Autor Zpráva
Jirka B.
Profil *
Zdravim, jsem na poli php zacatecnik a chtel bych se zeptat zkusenejsich, jestli je tento kod po strance spravnosti a bezpecnosti spravny. Diky za nazory. Jirka

<?php

if (isset($_POST['odeslano'])) {

$row["titul"] = "'$_POST[titul]'";
$row["jmeno"] = "'$_POST[jmeno]'";
$row["prijmeni"] = "'$_POST[prijmeni]'";
$row["vek"] = "'$_POST[vek]'";
$row["mesto"] = "'$_POST[mesto]'";
$row["zajmy"] = "'$_POST[zajmy]'";

if (isset($_POST)) {
$result = mysql_query("INSERT into navstevnik (titul, jmeno, prijmeni) VALUES (
'".$_POST["titul"]."',
'".$_POST["jmeno"]."',
'".$_POST["prijmeni"]."')") or die(mysql_error());
}

if (isset($_POST)) {
$result = mysql_query("INSERT into udaje (vek, mesto, zajmy) VALUES (
'".$_POST["vek"]."',
'".$_POST["mesto"]."',
'".$_POST["zajmy"]."')") or die(mysql_error());
}

if ($result) {
header("Location: index.php?action=konec");
exit;
}
}

?>

b]cast html kodu[/b]

<input type="text" size="30" name="titul" value="<?php if (isset($_POST['titul'])) echo $_POST['titul'];?>">
tiso
Profil
Hrozný kód... nechápem dôvod prečo údaje z formu ukladáš do poľa row keď s ním nič nerobíš, čo tam robí isset($_POST), a prečo máš to vkladanie údajov rozdelené na dve časti...

Čo sa týka bezpečnosti tak nikde údaje neošetruješ a do DB môžeš uložiť aj prázdny riadok
Jirka B.
Profil *
tiso

A muzes me prosim poradit, jak by to melo byt spravne?


a prečo máš to vkladanie údajov rozdelené na dve časti...
protoze data ukladat do dvou databazi
tiso
Profil
Aha do dvoch tabuliek, to som si nevšimol... Radiť ako to spraviť? to by som najprv musel vedieť načo to je dobré a čo chceš dosiahnuť... A to vieš ty...
Jirka B.
Profil *
tiso

Mam proste formular pomoci ktereho zapisuji data do databaze. Ty jsi uvedl, ze ten kod je hrozny a ja jsem te pozadal o radu, jak tento formular udelat, aby byl spravny.
Hugo
Profil
Jirka B.

Co se týče bezpečnosti, tak je vhodné před zápisem do db použít minimálně funkci AddSlashes(). Lepší je samozřejmě ty data kontrolovat podle toho co mají obsahovat (např. věk musí být číslo atd.).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0