Enquete + conclusies
Nu moeten we gaan zorgen dat de informatie van je formulier in je tabel terecht komt.
Als het formulier verzonden wordt, kun je in de pagina enquete.php de waardes ophalen. Dat doe je zo:
* gegevens.php
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
// gegevensformulier
<form method="post">
<p>Naam bedrijf:
<input id="naam_bedrijf" name="naam_bedrijf" type="text">
</p>
<p>Naam contactpersoon:
<input id="naam_contactpersoon" name="naam_contactpersoon" type="text">
</p>
<p>Functie:
<input id="functie" name="functie" type="text">
</p>
<p>E-mailadres:
<input id="email" name="email" type="text">
</p>
<p>Telefoonnummer:
<input id="telefoon" name="telefoon" type="text">
</p>
<p><input id="verzenden" name="verzenden" type="submit" value="verzenden"></p>
</form>
?>
// gegevensformulier
<form method="post">
<p>Naam bedrijf:
<input id="naam_bedrijf" name="naam_bedrijf" type="text">
</p>
<p>Naam contactpersoon:
<input id="naam_contactpersoon" name="naam_contactpersoon" type="text">
</p>
<p>Functie:
<input id="functie" name="functie" type="text">
</p>
<p>E-mailadres:
<input id="email" name="email" type="text">
</p>
<p>Telefoonnummer:
<input id="telefoon" name="telefoon" type="text">
</p>
<p><input id="verzenden" name="verzenden" type="submit" value="verzenden"></p>
</form>
?>
* enquete.php
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// waardes van het formulier ophalen
if (isset ($_POST['verzenden'])) {
// korte namen maken, leest lekkerder
$naam_bedrijf = $_POST['naam_bedrijf'];
$naam_contactpersoon = $_POST['naam_contactpersoon'];
$functie = $_POST['functie'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
}
?>
// waardes van het formulier ophalen
if (isset ($_POST['verzenden'])) {
// korte namen maken, leest lekkerder
$naam_bedrijf = $_POST['naam_bedrijf'];
$naam_contactpersoon = $_POST['naam_contactpersoon'];
$functie = $_POST['functie'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
}
?>
Loop ik tot nu toe bij of mis ik iets?
Hoe kan ik de ingevoerde gegevens in de database zetten? Het lijkt me dat er een of andere code onder de 'verzend'-knop moet komen, maar weet iemand welke of kan iemand mij een beetje op weg helpen?
Alvast bedankt.
maar hoe zet in in de enquete:
bedankt voor het invullen van de enquete.
zonder dat ik al andwoorden zie, want die zie ik dan in de data base
Jaap:
Nog een vraag over de 'gegevens.php':
Hoe kan ik de ingevoerde gegevens in de database zetten? Het lijkt me dat er een of andere code onder de 'verzend'-knop moet komen, maar weet iemand welke of kan iemand mij een beetje op weg helpen?
Alvast bedankt.
Hoe kan ik de ingevoerde gegevens in de database zetten? Het lijkt me dat er een of andere code onder de 'verzend'-knop moet komen, maar weet iemand welke of kan iemand mij een beetje op weg helpen?
Alvast bedankt.
Dat in de database zetten doe je nadat het formulier verzonden is, op de tweede pagina.
Je moet eerst een connectie maken met de database:
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
error_reporting (E_ALL);
$db_host = 'xxxx'; // eigen waardes invullen
$db_user = 'xxxx';
$db_pass = 'xxxx';
$db_name = 'xxxx';
mysql_connect ($db_host, $db_user, $db_pass);
@mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host);
unset ($db_user);
unset ($db_pass);
unset ($db_name);
?>
error_reporting (E_ALL);
$db_host = 'xxxx'; // eigen waardes invullen
$db_user = 'xxxx';
$db_pass = 'xxxx';
$db_name = 'xxxx';
mysql_connect ($db_host, $db_user, $db_pass);
@mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host);
unset ($db_user);
unset ($db_pass);
unset ($db_name);
?>
Jaap:
* gegevens.php
* gegevens.php
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
// gegevensformulier
<form method="post">
<p>Naam bedrijf:
<input id="naam_bedrijf" name="naam_bedrijf" type="text">
</p>
<p>Naam contactpersoon:
<input id="naam_contactpersoon" name="naam_contactpersoon" type="text">
</p>
<p>Functie:
<input id="functie" name="functie" type="text">
</p>
<p>E-mailadres:
<input id="email" name="email" type="text">
</p>
<p>Telefoonnummer:
<input id="telefoon" name="telefoon" type="text">
</p>
<p><input id="verzenden" name="verzenden" type="submit" value="verzenden"></p>
</form>
?>
// gegevensformulier
<form method="post">
<p>Naam bedrijf:
<input id="naam_bedrijf" name="naam_bedrijf" type="text">
</p>
<p>Naam contactpersoon:
<input id="naam_contactpersoon" name="naam_contactpersoon" type="text">
</p>
<p>Functie:
<input id="functie" name="functie" type="text">
</p>
<p>E-mailadres:
<input id="email" name="email" type="text">
</p>
<p>Telefoonnummer:
<input id="telefoon" name="telefoon" type="text">
</p>
<p><input id="verzenden" name="verzenden" type="submit" value="verzenden"></p>
</form>
?>
<form method="post" action="enquete.php">
zo moet dat zijn je pagina moet een doel hebben
Gewijzigd op 11/11/2005 10:03:00 door Niels Beckers
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = "
INSERT INTO tabelnaam
(veld1, veld2, veld3)
VALUES
('$waarde1', '$waarde2', '$waarde3')
";
mysql_query ($sql) or die (mysql_error ());
?>
$sql = "
INSERT INTO tabelnaam
(veld1, veld2, veld3)
VALUES
('$waarde1', '$waarde2', '$waarde3')
";
mysql_query ($sql) or die (mysql_error ());
?>
De waardes zijn de waardes uit je formulier en de velden de namen van je kolommen in de tabel.
Je moet natuurlijk alleen waardes gaan toevoegen als het formulier ook echt verzonden is. Dat controleer je met
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST') {
// waardes van het formulier controleren en invoegen in de database
}
?>
if ( $_SERVER['REQUEST_METHOD'] == 'POST') {
// waardes van het formulier controleren en invoegen in de database
}
?>
als het goed is...
Maar als ik op de verzend knop druk van de gegevens.php dan krijg ik de andwoorden te zien. en dat gaat ook nog naar me data base die het doet.
maar in de plaats van die andwoorden op enquete.php wil ik \'dank u wel\' neer zetten.
hoe doe k dat
alvast bedankt
<tr>
<td>Vraag 1</td>
<td><form name="form1" method="post" action="">
<input name="radiobutton" type="radio" value="radiobutton">
ja
</form>
<form name="form2" method="post" action="">
<input name="radiobutton" type="radio" value="radiobutton">
nee
</form></td>
</tr>
<tr>
<td>Vraag 2</td>
<td><form name="form1" method="post" action="">
<input name="radiobutton" type="radio" value="radiobutton">
ja
</form>
<form name="form2" method="post" action="">
<input name="radiobutton" type="radio" value="radiobutton">
nee
</form></td>
</tr>
enz.
Nu heb ik het probleem dat allebei de buttons aangeklikt kunnen worden.... dus als 'ja' is aangeklikt, kan 'nee' ook nog aangeklikt worden. Iemand enig idee hoe ik dat kan verhelpen?
je hoeft hier maar één form te gebruiken, dus
<form>
<input name="vraag1" type="radio" value="ja">
<input name="vraag1" type="radio" value="nee">
<input name="vraag2" type="radio" value="ja">
<input name="vraag2" type="radio" value="nee">
<input name="vraag3" type="radio" value="ja">
<input name="vraag3" type="radio" value="nee">
</form>
en dan daartussen natuurlijk de tekst van de vragen en lay-out dingetjes.
Nu is het de bedoeling dat de antwoorden worden opgeslagen in een database. Indien 'ja' wordt aangevinkt, komt er een 1 in de betreffende tabel te staan, indien 'nee' is aangevinkt, komt er 0 te staan.
Ik heb al een tabel aangemaakt, met daarin 8 kolommen (want er zijn 8 vragen). De kolommen heten 'vraag1', 'vraag2', etc. De tabel heet 'categorie1'.
Ik denk dat het volgens de volgende methode moet:
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('$_POST[vraag1]', '$_POST[vraag2]', '$_POST[vraag3]', '$_POST[vraag4]', '$_POST[vraag5]', '$_POST[vraag6]', '$_POST[vraag7]', '$_POST[vraag8]' )");
Ik weet niet of ik in de goede richting zit met bovenstaande, maar het lijkt me dat er sowieso ergens moet worden ingegeven dat er een 0 of een 1 moet worden ingevoerd. Of moet ik dan bij de value in het form "1" i.p.v. "ja" inoeren en "0" i.p.v. "nee"? Dus zo:
<input name="vraag1" type="radio" value="1">
<input name="vraag1" type="radio" value="0">
In plaats van:
<input name="vraag1" type="radio" value="ja">
<input name="vraag1" type="radio" value="nee">
Zit ik op de goede weg of doe ik wat verkeerd? Tips zijn zeer welkom, ik weet bijvoorbeeld niet op welke manier ik nou de ja of nee-antwoorden zo moet instellen dat er een 1 of 0 wordt opgeslagen in de database.
Ik denk dat het met die strategie wel moet lukken, ja. Als veldtype kun je TINYINT gebruiken voor die 0 of die 1. De waarden die je terugkrijgt uit je formulier zijn niet echt getallen, maar strings, maar ik vermoed dat ze wel automatisch naar een int gecast zullen worden door MySQL. Mocht dat niet lukken dan kun je er cijfers van maken met intval($_POST['vraag1']) enz.
Ik heb een tabel genaamd 'categorie1', met de velden 'vraag1', 'vraag2', 'vraag3', etcetera (t/m 'vraag8'). Het type is VARCHAR, maximaal 10 tekens.
Onderstaande pagina heb ik. Als ik echter op de submit-button druk, gebeurt er niks... hij slaat de waarden niet op in de database, en de volgende pagina wordt niet geladen.
<html>
<head>
<title>Onderdeel 1</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p align="center"><strong>Onderdeel 1: </strong></p>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
if($_POST[Submit]){
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('$_POST[vraag1]', '$_POST[vraag2]', '$_POST[vraag3]', '$_POST[vraag4]', '$_POST[vraag5]', '$_POST[vraag6]', '$_POST[vraag7]', '$_POST[vraag8]')");
header("Location: 2.php");
}
?>
if($_POST[Submit]){
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('$_POST[vraag1]', '$_POST[vraag2]', '$_POST[vraag3]', '$_POST[vraag4]', '$_POST[vraag5]', '$_POST[vraag6]', '$_POST[vraag7]', '$_POST[vraag8]')");
header("Location: 2.php");
}
?>
<div align="center">
<table width="562" border="1">
<tr>
<th width="457" scope="col">Stelling</th>
<th width="95" scope="col">Antwoord</th>
</tr>
<form method="post" action="">
<tr>
<td>Stelling1</td>
<td><input type="radio" name="vraag1" value="ja">ja
<br>
<input type="radio" name="vraag1" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 2</td>
<td><input type="radio" name="vraag2" value="ja">ja
<br>
<input type="radio" name="vraag2" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 3</td>
<td><input type="radio" name="vraag3" value="ja">ja
<br>
<input type="radio" name="vraag3" value="nee">nee
</td>
</tr>
<tr>
<td>Stellling 4</td>
<td><input type="radio" name="vraag4" value="ja">ja
<br>
<input type="radio" name="vraag4" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 5</td>
<td><input type="radio" name="vraag5" value="ja">ja
<br>
<input type="radio" name="vraag5" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 6</td>
<td><input type="radio" name="vraag6" value="ja">ja
<br>
<input type="radio" name="vraag6" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 7</td>
<td><input type="radio" name="vraag7" value="ja">ja
<br>
<input type="radio" name="vraag7" value="nee">nee
</td>
</tr>
<tr>
<td>Stelling 8</td>
<td><input type="radio" name="vraag8" value="ja">ja
<br>
<input type="radio" name="vraag8" value="nee">nee
</td>
</tr>
</form>
</table>
<p>
<input type="submit" name="Submit" value="Stuur!"> </p>
</div>
</body>
</html>
Iemand enig idee wat ik fout heb staan?
$_POST[Submit]
moet zijn
$_POST['Submit']
en dat geldt voor alle POST en GET dingen.
En bij de query zou ik de vars buiten de "" zetten, dus
Code (php)
1
2
3
2
3
<?php
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('" . $_POST['vraag1'] . "', '" . $_POST['vraag1'] . "', '" . $_POST['vraag2'] . "', '" . $_POST['vraag3'] . "', '" . $_POST['vraag4'] . "', '" . $_POST['vraag5'] . "', '" . $_POST['vraag6'] . "', '" . $_POST['vraag7'] . "', '" . $_POST['vraag8'] . "')");
?>
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('" . $_POST['vraag1'] . "', '" . $_POST['vraag1'] . "', '" . $_POST['vraag2'] . "', '" . $_POST['vraag3'] . "', '" . $_POST['vraag4'] . "', '" . $_POST['vraag5'] . "', '" . $_POST['vraag6'] . "', '" . $_POST['vraag7'] . "', '" . $_POST['vraag8'] . "')");
?>