Combobox waarde naar database
Ben al de halve dag opzoek naar een klein iets. Hopelijk kunnen jullie mij verder helpen.
Heb een registratie formulier. Daar moet de gebruiker kiezen uit dhr, mevr, fam. Deze waarde moet meegenomen worden in het database.
De rest doet het goed, maar met deze optie toegevoegd werkt het niet. Ik krijg geen foutmelding, gewoon een wit scherm.
Waarschijnlijk doe ik het verkeerd, maar weet zo gauw niet hoe het anders moet.
Hier een verkorte versie van mijn code:
if($_SERVER['REQUEST_METHOD'] == "POST")
{
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (exploitant, achternaam, geslacht, voornaam, voorvoegsel, adres, email, postcode, woonplaats, telefoon, gsm, fax, username, password) " .
"VALUES ('" . $exp . "','" . $anaam . "', '" . $geslacht . "', '" . $vnaam . "','" . $vv . "','" . $adres . "','" . $pcode . "','" . $plaats . "','" . $mail . "','" . $tel . "','" . $gsm . "','" . $fax . "','" . $user . "','" . $pass . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user account; ' . mysql_error());
}
?>
<html>
<head>
<title>Register</title>
<!--Stylesheet wordt geladen.-->
<link rel="stylesheet" type="text/css" href="../opmaak.css">
</head>
<body>
<form method="post" action="">
<table width="716">
<tr>
<td colspan="2" class="error">
</td>
</tr>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<th colspan="2">Persoonlijke gegevens</th>
</tr>
<tr>
<td align="right">Geslacht</td>
<td><select name="geslacht">
<option value="mevr">Mevr.</option> <option value="dhr">Dhr.</option> <option value="fam">Fam.</option></select></td>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (exploitant, achternaam, geslacht, voornaam, voorvoegsel, adres, email, postcode, woonplaats, telefoon, gsm, fax, username, password) " .
"VALUES ('" . $exp . "','" . $anaam . "', '" . $geslacht . "', '" . $vnaam . "','" . $vv . "','" . $adres . "','" . $pcode . "','" . $plaats . "','" . $mail . "','" . $tel . "','" . $gsm . "','" . $fax . "','" . $user . "','" . $pass . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user account; ' . mysql_error());
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST")
{
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (exploitant, achternaam, geslacht, voornaam, voorvoegsel, adres, email, postcode, woonplaats, telefoon, gsm, fax, username, password) " .
"VALUES ('" . $exp . "','" . $anaam . "', '" . $geslacht . "', '" . $vnaam . "','" . $vv . "','" . $adres . "','" . $pcode . "','" . $plaats . "','" . $mail . "','" . $tel . "','" . $gsm . "','" . $fax . "','" . $user . "','" . $pass . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user account; ' . mysql_error());
}
?>
<html>
<head>
<title>Register</title>
<!--Stylesheet wordt geladen.-->
<link rel="stylesheet" type="text/css" href="../opmaak.css">
</head>
<body>
<form method="post" action="">
<table width="716">
<tr>
<td colspan="2" class="error">
</td>
</tr>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<th colspan="2">Persoonlijke gegevens</th>
</tr>
<tr>
<td align="right">Geslacht</td>
<td><select name="geslacht">
<option value="mevr">Mevr.</option> <option value="dhr">Dhr.</option> <option value="fam">Fam.</option></select></td>
$geslacht = $_POST['geslacht'];
Sorry dat ik het even zo doe, maar als ik alles plaats wordt het onduidelijk..
Jeroen:
In de eerste plaats heb je het niet over een geslacht, maar over de aanhef. Het geslacht 'fam' is mij totaal onbekend.geslacht heb ik al omgezet naar variabele
$geslacht = $_POST['geslacht'];
Sorry dat ik het even zo doe, maar als ik alles plaats wordt het onduidelijk..
$geslacht = $_POST['geslacht'];
Sorry dat ik het even zo doe, maar als ik alles plaats wordt het onduidelijk..
En in de 2e plaats moet je eerst controleren of de input wel aan de voorwaarden voldoet en dan pas in de variabele zetten. Je geeft vanuit je formulier de opties Dhr, Mevr en Fam mee, maar iedereen die een beetje handig is, kan dit zo aanpassen en de grootst mogelijke onzin versturen. Mee oppassen dus.
Ik heb al een beetje lopen klooien met het controleren van de input. Maar kom er maar niet uit.. Ben net begonnen en probeer doormiddel van tutorials mijn kennis uit te breiden. Alleen kan ik over een combobox niks vinden..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
error_reporting(E_ALL);
$aanhef = 'fam';
// controle aanhef
// toegestane waardes:
$aanhefCheck = array('dhr', 'mevr', 'fam');
if (isset($aanhef) && in_array($aanhef, $aanhefCheck)) {
echo 'De volgende waarde is goedgekeurd: '.$aanhef;
}
else {
echo 'Er is geen (juiste) waarde geselecteerd.';
}
// einde controle
?>
error_reporting(E_ALL);
$aanhef = 'fam';
// controle aanhef
// toegestane waardes:
$aanhefCheck = array('dhr', 'mevr', 'fam');
if (isset($aanhef) && in_array($aanhef, $aanhefCheck)) {
echo 'De volgende waarde is goedgekeurd: '.$aanhef;
}
else {
echo 'Er is geen (juiste) waarde geselecteerd.';
}
// einde controle
?>
Edit: En ga vervolgens even spelen met de variabele $aanhef om te zien wat er nu precies gebeurd.
Gewijzigd op 10/03/2006 12:54:00 door Frank -
Thx! ik denk dat het me hiermee wel gaat lukken.. Ik ga het meteen uitproberen..