Cookie / SQL / PHP vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQLPHPER PHPSQLER

SQLPHPER PHPSQLER

08/01/2012 19:27:19
Quote Anchor link
Beste PHP'ers,

Ik heb een vraag over PHP, SQL en cookies.

Ik zou graag een registratieformulier willen maken waarbij een ID in een cookie wordt opgeslagen. Door middel van dit ID zou ik een gebruiker moeten kunnen herkennen en deze direct toegang moeten kunnen geven tot de voor hem / haar bestemde gebieden.

Ik heb een script die ik niet kan draaien, omdat er fouten inzitten.
Script (tussen de strepen):
---------------------
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($_POST['submit']){
include "connect.php";
//Formulier is verzonden, nu de verwerking
 $sql_aanmelding = "INSERT INTO `members` (`username`, `password`) VALUES (' " . $_POST['login-naam'] . "', ' ". $_POST['login-wachtwoord']. " ', NOW()"');
  $verzenden = mysql_query($sql_aanmelding);
  echo  "De gegevens voor (.$_POST['
login-naam'].) zijn opgeslagen in onze database."
*** HAAL ID UIT MYSQL DATABASE EN SCHRIJF DIT IN COOKIE ***
}
else{
//formulier is nog niet verzonden, laat het zien in de html-modus
?>

<form name="inloggen" action="register.php" method="post">
Gebruikersnaam: <input type="text" name="login-naam">
Wachtwoord: <input type="password" name="login-wachtwoord">
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
//if-else afsluiten
}
?>

---------------------
Graag hoor ik van iemand hoe ik dit script draaiend kan krijgen en hoe ik ervoor kan zorgen dat het script meteen een cookie aanmaakt met het bijbehorende ID erin.

Alvast bedankt.

Met vriendelijke groet,

SQLPHPER PHPSQLER
Gewijzigd op 08/01/2012 19:35:34 door SQLPHPER PHPSQLER
 
PHP hulp

PHP hulp

22/12/2024 09:45:36
 
Eddy B

Eddy B

08/01/2012 19:28:25
Quote Anchor link
Waarom wil je niet werken met AI?(auto-increment)
 
SQLPHPER PHPSQLER

SQLPHPER PHPSQLER

08/01/2012 19:29:49
Quote Anchor link
Eddy Bisschops op 08/01/2012 19:28:25:
Waarom wil je niet werken met AI?(auto-increment)

Bedankt voor de snelle reactie.

Het ID wordt in SQL (als het goed is) al aangemaakt dmv AUTO-INCREMENT.
Moet ik dit ook in het script zetten? Zo ja, hoe?

Alvast bedankt.
Gewijzigd op 08/01/2012 19:32:38 door SQLPHPER PHPSQLER
 
Eddy B

Eddy B

08/01/2012 19:35:33
Quote Anchor link
Nee, als je een column hebt in de table die AI uitvoert hoef je je daar verder bij INSERT niet bezig mee te houden.
 
SQLPHPER PHPSQLER

SQLPHPER PHPSQLER

08/01/2012 19:36:38
Quote Anchor link
Eddy Bisschops op 08/01/2012 19:35:33:
Nee, als je een column hebt in de table die AI uitvoert hoef je je daar verder bij INSERT niet bezig mee te houden.

Oké, maar hoe zorg ik ervoor dat de ID uit MYSQL wordt gelezen en in een cookie wordt gezet, en wat mankeert er aan mijn script?
 
Obelix Idefix

Obelix Idefix

08/01/2012 19:41:38
Quote Anchor link
Wat mankeert er niet aan je script....

Controleren of een formulier verzonden is doe je met if ($_SERVER['REQUEST_METHOD'] == 'POST')
De meningen over backtics in een query lopen uiteen.
Je controleert de input vanuit het formulier nergens of het ergens aan voldoet.
Je stopt een ongecodeerd wachtwoord in de database.
Je beveiligt de invoer in je database niet (mysql_real_escape_string)
Je hebt twee velden en drie inputs.
Zorg voor juiste foutafhandeling.
Kijk naar de kleurtjes.
 
Eddy B

Eddy B

08/01/2012 19:42:20
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($_POST['submit']){
include("connect.php");
// Formulier is verzonden, nu de verwerking
$sql_aanmelding = "INSERT INTO members ('username', 'password') VALUES ('".$_POST['login-naam']."', '".$_POST['login-wachtwoord']."', 'NOW()')";
$verzenden = mysql_query($sql_aanmelding);
    echo  "De gegevens voor ".$_POST['login-naam']." zijn opgeslagen in onze database."
}else{
    //formulier is nog niet verzonden, laat het zien in de html-modus
}
?>


Dit werkt maar ik raad je echt af dit te gebruiken. Hou je bezig met de veiligheid en zet geen directe user gegevens in cookies.. dat betekend dat als iemand de cookie wijzigt ze op iemand anders account kunnen komen.

kijk naar:
mysql_real_escape_string();
sha(); md5();

En volg wat beginners tutorials over PHP. Alle variabelen buiten " etc., is de absolute basis en valt je meteen op met een editor zoals Notepad++.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.