Hallo allemaal,

Ik ben nog steedsbezig met m'n eerste profielensysteem en heb weer een vastlopertje:

Ik weet nu eindelijk hoe ik de gegevens die een gebruiker in een html form invult in mijn database krijg, maar nu wil ik in het registratie formulier pass 1 en pass 2 (bijv) checken.

En dan moet het pas de db in gaan als het ook klopt.

Ik heb nu dit in m'n registratie pagina staan :
<?php
if(!empty($_POST['pass']))
{
echo "U heeft geen wachtwoord ingevuld! Vul hem aub in.";
}
?>

Ik neem aan dat ik hier iets moet verbouwen zodat pass1 en pass 2 gechecked worden en dan pas de db in gaan.

Alvast bedankt,

Karim
Gaat het op deze manier allemaal werken?? (A)

<html>
<head>
<title> Registreren op Seriousmusic.nl </title>
</head>
<body>

<form method="post" action="">
<label>usernaam
<input type="text" name="user" id="user" />
</label>

<label>mail
<input type="text" name="mail" id="mail" />
</label>

<label>mail2
<input type="text" name="mail2" id="mail2" />
</label>

<label>pass
<input type="pass" name="pass" id="pass" />
</label>

<label>pass2
<input type="pass" name="pass2" id="pass2" />
</label>

<label>Verzenden
<input type="submit" name="Submit" id="Submit" value="Wordt lid!" />
</label>
</form>

<?php

include("database.php");

if(isset($_POST['Submit']))
{
if(!empty($_POST['user']))
{
echo "U heeft geen username ingevuld! Vul hem aub in.";
}
if(!empty($_POST['mail']))
{
echo "U heeft geen mailadres ingevuld, vul hem in aub.";
}
if(!empty($_POST['mail2']))
{
echo "U heeft geen controlle van uw mailadres ingevuld, vul hem in aub.";
}
if($_POST['mail'] == $_POST['mail2']){


mysql_query("INSERT INTO `leden` (`mail`) VALUES ( '".$_POST['mail']."')");

}
else {

echo "De mail adressen zijn niet hetzelfde!";
}
if(!empty($_POST['pass']))
{
echo "U heeft geen password ingevuld, vul hem in aub.";
}
if(!empty($_POST['pass2']))
{
echo "U heeft geen controlle van uw wachtwoord ingevuld, vul hem in aub.";
}
if($_POST['pass'] == $_POST['pass2']){


mysql_query("INSERT INTO `leden` (`pass`) VALUES ( '".$_POST['pass']."')");

}
else {

echo "De wachtwoorden zijn niet hetzelfde!";
}

mysql_query("INSERT INTO `leden` (`user`) VALUES ( '".$_POST['user']."')");
?>

</body>
</html>


Alvast bedankt,
Karim
Of het gaat werken, dat kun je zelf testen. Daar leer je het meeste van.

Offtopic: Backtics ` horen niet thuis in SQL! Gooi deze zooi dus weg, ritueel verbranden die troep!

Vroeg of laat ga je daarmee de mist in en loop je zelfs de kans dat jouw database wordt leeggegooid (afhankelijk van de fout die je maakt).
Daar kan ik dus ook gewoon ' voor gebruiken?
Nee, gewoon niets. Een tabel- of kolomnaam hoort in SQL niet tussen quotes of backticks te staan.

ps. Het enige waar je quotes voor gebruikt is bij strings in de query.
Karim schreef op 28.07.2007 18:41
Daar kan ik dus ook gewoon ' voor gebruiken?
Nee, een backtic ` is wat anders dan een quote '.

Een backtic verneukt jouw SQL en uiteindelijk ook de database, een quote zet je om een string.

INSERT INTO
  tabelnaam (
    kolom1,
    kolom2
  )
VALUES(
  'waarde 1',
  23
)

Zoals je ziet, geen backtics in deze query maar wel een paar quotes om een string. De integer 23 kan zonder quotes in de query staan, maar mag je ook tussen quotes zetten. tabel- en kolomnamen staan nooit tussen quotes of backtics.

Reageren