Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Ošetření duplicity ve formuláři PHP

Aktivity
Avatar
David Částka:15.9.2017 23:36

Ahoj. Potřeboval bych poradit jak zamezit tomu, aby se mohli registrovat dva uživatele na stejný nick. Diky za rady :-)
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="<?php echo $_SERVER["PHP_SEL­F"] ?>" method="post">
email: <input type="email" name="emaR" id="">
<br>
nick: <input type="text" name ="nick">
<br>
heslo: <input type="password" name="passR" id="">
<br>
<input type="submit" value="Registrovat" name = "reg">
</form>
<?php
if ($_SERVER["RE­QUEST_METHOD"] == "POST") {
$conn = new mysqli("localhost", "root", "", "uzivatel");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

if ($_POST["reg"]) {

$email2 = $_POST["emaR"];
$nick = $_POST["nick"];
$pass2 = $_POST["passR"];

$database = new mysqli("localhost", "root", "", "uzivatel");

$sql = "INSERT INTO lid (nick, pass, email)
VALUES ('$nick', '$pass2', '$email2')";

if ($database->query($sql) === TRUE) {
echo "Registrace uspesna";
};
};
};
?>
</body>
</html>

 
Odpovědět
15.9.2017 23:36
Avatar
Jan Blažek
Tvůrce
Avatar
Jan Blažek:16.9.2017 8:01

Ahoj, musiš v databázi nastavit kolonku 'nick' jako unikátní. Pokud se pak pokusíš do databáze uložit duplikovanou hodnotu, databáze ti vyhodí výjimku, takže dotaz na databázi dej do try catch bloku.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
16.9.2017 8:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.