Enquete + conclusies

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Jan Koehoorn

Jan Koehoorn

20/10/2005 15:48:00
Quote Anchor link
Okee, mooi zo.

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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
  // waardes van het formulier ophalen
  if (isset ($_POST['verzenden'])) {
    // korte namen maken, leest lekkerder
    $naam_bedrijf = $_POST['naam_bedrijf'];
    ...
hieronder zelf de rest invullen
  }
?>
 
PHP hulp

PHP hulp

15/01/2025 22:04:57
 

20/10/2005 16:30:00
Quote Anchor link
Ok, ik zal even posten wat ik tot nu toe heb.

* gegevens.php

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
?>


* enquete.php

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
  }

?>


Loop ik tot nu toe bij of mis ik iets?
 

24/10/2005 10:44:00
Quote Anchor link
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.
 

11/11/2005 09:43:00
Quote Anchor link
okey, ik heb dit ook gebruikt en geleerd^^
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
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 09:57:00
Quote Anchor link
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.


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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
 
Niels Beckers

Niels Beckers

11/11/2005 10:02:00
Quote Anchor link
Jaap:

* gegevens.php

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
?>


<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
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 10:04:00
Quote Anchor link
Daarna kun je gegevens toevoegen met een INSERT query. Die ziet er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 ());
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

  if (  $_SERVER['REQUEST_METHOD'] == 'POST') {
    // waardes van het formulier controleren en invoegen in de database
  }
?>
 

11/11/2005 11:10:00
Quote Anchor link
en dan \".$_POST[\'waarde1\'].\"

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
 

17/11/2005 09:38:00
Quote Anchor link
Het toevoegen van de gegevens in de database is gelukt. Nu wil ik verder naar de volgende stap: Het doorlopen van de enquete en het opslaan van de antwoorden in de database. Het zijn allemaal ja/nee vragen, waarbij maar 1 antwoord mogelijk is. Ik wil graag met radiobuttons werken, en daarbij heb ik het volgende gemaakt:

<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?
 
Jan Koehoorn

Jan Koehoorn

17/11/2005 10:13:00
Quote Anchor link
Hallo Jaap,

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.
 

17/11/2005 10:54:00
Quote Anchor link
Dank je, Jan. Het is gelukt.

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.
 
Jan Koehoorn

Jan Koehoorn

17/11/2005 11:16:00
Quote Anchor link
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.
 

21/11/2005 11:15:00
Quote Anchor link
Ik doe wat verkeerd denk ik, ik weet alleen niet wat.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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");
    }

?>


<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?
 
- SanThe -

- SanThe -

21/11/2005 13:53:00
Quote Anchor link
Schrijfwijze is niet goed.

$_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)
PHP script in nieuw venster Selecteer het PHP script
1
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'] . "')");
?>
 

Pagina: « vorige 1 2



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.