Citat:
Ursprungligen postat av
maan88
Jag behöver hjälp att göra ett registreringsformulär för en sida och ett loginformulär för index.php; Jag har försökt göra en MySQL query på korrekt sätt. Detta funkar inte. Någon som kan hjälpa mig?
Kod:
$username = "SELECT username FROM users ?";
$password = "SELECT password FROM users ?";
if ($_GET['username'] != $username || $_GET['password'] != $password)
{}
Well, ej konstigt att det inte fungerar då du inte har gjort det på rätt sätt.
Så här ska du göra.
Kod:
// Använd aldrig _GET när du behandlar känsliga uppgifter som lösenord och annan inloggningsuppgifter, andvänd _POST
$username = isset($_POST['username']) && !empty($_POST['username']) ? $_POST['username'] : null;
$password = isset($_POST['password']) && !empty($_POST['password']) ? $_POST['password'] : null;
if($username && password){
// Du måste dock sanitera både $username och $password innan du använder de i queryn, annars kan någon hacka och ta ut information om alla dina användare, eller t.o.m. radera hela din datababas.
$result = mysql_query("SELECT username, password FROM users WHERE username = '{$username}' AND password = '{$password}' LIMIT 1");
if($result){
echo 'Found a record';
}
else{
echo 'Login failed';
echo mysql_error(); // Denna ska enbart du kunna se, så använd den inte på den publika servern.
}
}
else{
echo "Username and/or password cannot be empty.";
}
Glöm ej heller av att aldrig ha lösenorden i ren text, utan använd phps "
password_hash" för att få en mycket bra och säker hashning av lösenorden, ifall du skulle bli hackad, så blir det ändå svårt för de att unhasha lösenorden från din databas.
Angående ip-ban, så är det lättast att använda en egen tabell över bannade ip-adresser, där du bara skriver in vilka ip:n som är bannade, sen varje gång någon vill registrera sig eller logga in så tar du och kollar om den användarens ip är bannad. Samtidigt kan ju flera personer registrera sig under samma ip adress om man delar bostad, så det bästa vore nog att bara banna ett konto som bryter din platforms regler än att banna en ip-adress.
Gå igenom bl.a. den länken
JohannesSnajdare gav, och sök även "PHP mysql tutorials" så får du fram mycket användbar information.