#3 Kit
Díky moc, lámu si s tim hlavu jakou dobu a oni to jsou apostrofy, nedošlo mi že to neni integer(hehe). ochranu proti SQL injection nás ve škole neučili, dělám to jako úkol :)
Příspěvky odeslané z IP adresy 109.80.180.–
číslo za Unknown column je md5 hash z hesla, jakékoliv heslo zadám nefunguje :/
Zdravim :)
dělám registraci, ale hlásí mi to chybu vždy když odešlu formulář tak mi to vrátí tento sql error :
nevíte někdo kde je problém?
<?PHP
include "config.php";
session_start();
if (isset($_POST['nick']) && isset($_POST['heslo']) &&
isset($_POST['email']) && isset($_POST['datnar']) && ($_POST["jmeno"]) && ($_POST["prijmeni"]) && isset($_POST['Typ_Kontaktu']) && isset($_POST["pohlavi"]))
{
$pohlavi = ($_POST['pohlavi']);
$email = ($_POST['email']);
$datnar = ($_POST['datnar']);
$nick = ($_POST['nick']);
if($_POST['heslo'] == $_POST['heslo1'])
{
$heslo = md5($_POST['heslo']);
}
$jmeno = ($_POST['jmeno']);
$typk = ($_POST['Typ_Kontaktu']);
$prijmeni = ($_POST['prijmeni']);
$db->query("INSERT INTO tblosoba(`NICK`, `HESLO`, `DATNAR`, `JMENO`, `PRIJMENI`, `TYPKON_ID`, `POHLAVI_ID`) VALUES ('$nick', $heslo, '$datnar', '$jmeno', '$prijmeni', $typk, $pohlavi)");
echo "Registrace dokončena.";
}
else
{
echo "Uživatel existuje";
}
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["nick"]))
{echo "Přihlašovací jméno je vyžadováno!<br>";}
if (empty($_POST["heslo"]))
{echo "Heslo je vyžadováno!<br>";}
if (empty($_POST["email"]))
{echo "Email je vyžadován!<br>";}
if (empty($_POST["datnar"]))
{echo "Datum narození je vyžadováno! ";}
}
$ssql="COUNT(USER_ID) FROM tblosoba";
?>
můžu přiložit i HTML formulář jestli to pomůže :)
Netušim kolik mu je, ale neni starý, bohužel kvůli němu odchází ze školy každý rok třetina žáků a třídy IT se, jak je u nás ´zvykem´ spojej už v prváku :)
To vypadá užitečně, zase jsem se něco přiučil, děkuji:) jen doufám že mě za to profesor neseřve nemá rád když umíme něco co nás neučil
Aha:) jak řikám, nebrali jsme to. když smažu to query tak mi to hází chybu ale to už je maličkost kterou kterou předělám, děkuju moc za všechno :)
EOT jsme ani nebrali, ale funguje to děkuji mockrát:) můžu se jen zeptat jak nahradit drop table aniž bych dostal chybu? údaje by tam měli zůstat a při každém spuštění skriptu se smaže tabulka s údaji:)
Kit, děkuji, dělám to do školy, profesor má nesmyslný nároky a vlastní pravidla, zakázal nám používání prepare a execute, takže to moc neumim použít. nešlo by to prosím ještě nějak ? :X
</style>
<form id="frm" name="frm" method="POST" action="register.php">
<span>Login</span><input type="text" name="nick" value="nick">
<span>Heslo</span><input type="password" name="heslo">
<button type="submit" value="odeslat" name="odeslat">
</form>
<?php
include "config.php";
session_start();
if (isset($_POST['nick']) && isset($_POST['heslo']))
{
$select = $db->prepare("SELECT ID_USER FROM tbluser WHERE nick = ?"
$select->execute(array('$_POST['nick']'));
if(mysql_num_rows($select) == 0)
{
echo "Uživatel existuje";
}
else
{
mysql_query("INSERT INTO tbluser(`nick`, `heslo`) VALUES ('$_POST['nick']', '".md5($_POST['heslo'])."')");
echo "Registrace Dokončena.";
}
}
?>
Díky, zkusil jsem to opravit na
$sql=mysql_query ("SELECT ID_USER FROM tbluser WHERE nick = ".'$_POST['nick']'."");
a furt mi to nefunguje, prosím kde dělám chybu? teď mi to hází unexpected T_STRING
<form id="frm" name="frm" method="POST" action="register.php">
<span>Login</span><input type="text" name="nick" value="nick">
<span>Heslo</span><input type="password" name="heslo">
<button type="submit" value="odeslat" name="odeslat">
</form>
<?php
include "config.php";
session_start();
$sql=mysql_query ("SELECT ID_USER FROM tbluser WHERE nick = "$_POST['nick']"");
$num_rows = mysql_num_rows($sql);
if (isset($_POST['nick']) && isset($_POST['heslo']))
{
if($num_rows == 1)
echo "Uživatel existuje";
else
{
mysql_query("INSERT INTO tbluser(`nick`, `heslo`) VALUES
('$_POST['nick']', '".md5($_POST['heslo'])."')");
echo "Registrace Dokončena.";
}
}
?>
Zdravim, hlásí mi to chybu na devátém a desátém řádku, může někdo poradit? děkuji :)