variabele uit formulier naar database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Marc koster

marc koster

11/11/2005 18:44:00
Quote Anchor link
Ik krijg het niet voor elkaar om uit een adressenbestand (phpmyadmin-database) een achternaam te kiezen dmv een formulier.
Als ik de variabele vervang door een vaste achternaam lukt het wel. De fout zit dus in de syntax waar ik een variabele uitlees.

formulierachternaam:

<html>
<head>
<title>Achternaam formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<h3>Achternaam formulier</h3>
<form action="evaluatieachternaam.php" method="post" enctype="multipart/form-data">
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="122"><h4>Achternaam: </h4></td>
<td colspan="2"> <h5>
<input type="text" name="achternaam" size="50" maxlength="50" value=" ">
</h5></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2">
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2"> <input type="reset" name="Reset" value="Reset">
<input type="submit" name="Verzenden" value="Verzenden"> </td>
</tr>
</table>
</form>
</body>
</html>

evaluatieachternaam:

<html>
<head>
<title>Clubleden formulier evaluatie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h3>Evaluatie van het demonstratieformulier</h3>
<h4>De volgende gegevens werden ingesteld in het demonstratieformulier:</h4>
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="194"><h5>Achternaam:</h5></td>
<td width="492">
</td>
</tr>
</table>
</body>
</html>
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php  
 
// Define database connection details
include 'dbwachtwoorden.php';
//$table = "formulier";

// Connect to dbase

include 'dbconnection.php';

$voornaam = $_POST['voornaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$geslacht = $_POST['geslacht'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$plaatsnaam = $_POST['plaatsnaam'];
$geboortedatum = $_POST['geboortedatum'];
$huistelefoon = $_POST['huistelefoon'];
$mobiel = $_POST['mobiel'];
$emailadres = $_POST['emailadres'];
$lidnummer = $_POST['lidnummer'];
$team = $_POST['team'];
$opmerkingen = $_POST['opmerkingen'];


    // SELECT FROM tablenaam
    $sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";

    $resultaat  = mysql_query($sql); // voer SQL code uit

    mysql_select_db(databasenaam);
    $result = mysql_query($sql);
    if (!$result){
     echo 'Fout: sql statement heeft niet gewerkt.<BR>';
      echo 'MySQL retourneerde: '.mysql_error();
      exit;
   }

    echo 'OK';

echo "<table width=1400 border=1 cellspacing=2 cellpadding=2>";
//echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";
echo "<tr><td><b>ID</b></td><td><b>Lidnr</b></td><td><b>Naam</b></td><td><b>&nbsp;</b></td><td><b>Adres</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>Telefoon</b></td><td><b>Mobiel</b></td><td><b>Geboren</b></td><td><b>Geslacht</b></td><td><b>Emailadres</b></td><td><b>Team</b></td>";
echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";

if ($resultaat) {
    while ($rij = mysql_fetch_array($resultaat)) {

    echo "<tr>";
    echo "<td>".$rij["nr_ID"].":"."&nbsp;"."</td>";
    echo "<td>".$rij["lidnummer"]."</td>";
    echo "<td>".$rij["achternaam"]."</td>";    
    echo "<td>".$rij["voornaam"]." ".$rij["tussenvoegsel"]."</td>";
    echo "<td>".$rij["straatnaam"]."</td>";
    echo "<td>".$rij["huisnummer"]."</td>";
    echo "<td>".$rij["postcode"]."</td>";
    echo "<td>".$rij["plaatsnaam"]."</td>";
    echo "<td>".$rij["huistelefoon"]."</td>";
    echo "<td>".$rij["mobiel"]."</td>";
    echo "<td>".$rij["geboortedatum"]."</td>";
    echo "<td>".$rij["geslacht"]."</td>";    
    echo "<td>".$rij["emailadres"]."</td>";
    echo "<td>".$rij["team"]."</td>";
    echo "</tr>";

    }
}

echo "</table>";
?>
 
PHP hulp

PHP hulp

16/11/2024 05:36:12
 

11/11/2005 18:57:00
Quote Anchor link
vervang
$sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";
eens door
$sql = "SELECT * FROM ledenformulier WHERE achternaam LIKE '%{$achternaam}%' ORDER BY achternaam, voornaam";

en gebruik bij array's ($rij, etc) altijd enkele quotes ( ' )
dus niet $array["key"], maar $array['key']
 
Marc koster

marc koster

11/11/2005 19:22:00
Quote Anchor link
Ik heb de syntax letterlijk overgenomen en de quotes aangepast maar nog steeds zonder resultaat. Ik krijg nog steeds GEEN foutmeldingen maar de table blijft leeg.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 19:25:00
Quote Anchor link
Misschien moet je even proberen dat enctype uit je formulier te halen. Het kan zijn dat het daarom fout gaat.
 
Robert Deiman

Robert Deiman

11/11/2005 19:26:00
Quote Anchor link
Probeer dit eens:
$sql = "SELECT * FROM ledenformulier WHERE achternaam='" . $achternaam . "' ORDER BY achternaam, voornaam";

EDIT:
Voor zover ik weet van SQL is het zo dat die in het geval van jullie (achternaam = '$achternaam') letterlijk zoekt op wat er tussen de '' staat. Dus where achternaam = $achternaam, ik neem aan dat er geen gebruiker is die '$achternaam' als achternaam heeft ;)
Gewijzigd op 11/11/2005 19:31:00 door Robert Deiman
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 19:44:00
Quote Anchor link
@ Robert: SQL accepteert dat wel hoor.
 
Marc koster

marc koster

11/11/2005 19:47:00
Quote Anchor link
Robert: met jou syntax blijft de table ook leeg...maar..... ik heb iemand in de database gezet met de achternaam Achternaam.
Als ik deze naam nu in het formulier invul, staan de gegevens van meneer Achternaam ineens wel in de table. Dit moet ons een stap dichterbij de oplossing brengen.
Misschien heeft Jan Koehoorn de oplossing maar ik snap zijn tip niet.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 19:51:00
Quote Anchor link
<form action="evaluatieachternaam.php" method="post" enctype="multipart/form-data">

maak daar van:

<form action="evaluatieachternaam.php" method="post">

is maar een gok hoor
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 19:56:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sql
= "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";
$resultaat  = mysql_query($sql); // voer SQL code uit
mysql_select_db(databasenaam);
$result = mysql_query($sql);
?>


Dit stukje vind ik ook een beetje gek: eerst voer je een query uit en dan selecteer je een database en dan voer je de query nog een keer uit.
 
Marc koster

marc koster

11/11/2005 19:57:00
Quote Anchor link
Nee Jan dit maakt geen verschil.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 19:58:00
Quote Anchor link
marc:
Nee Jan dit maakt geen verschil.
dat enctype niet bedoel je?
 
Marc koster

marc koster

11/11/2005 20:03:00
Quote Anchor link
Dat enctype maakt niet uit.
Jou bericht daarna las ik later maar maakt ook geen verschil. Dit is een verdwaalt stukje tekst wat ik nu ook verwijderd heb.
Volgens mij zit het in de regels direkt onder:
// Connect to dbase
include 'dbconnection.php';
 
- SanThe -

- SanThe -

11/11/2005 20:08:00
Quote Anchor link
Zet eens error_reporting(E_ALL) aan en gebruik na een query eens or die(mysql_error()). Zo blijft het gokken.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 20:11:00
Quote Anchor link
edit: tip van SanThe toegevoegd


Ik heb je code wat herschreven. Probeer eens?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>


<html>
<head>
<title>Achternaam formulier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<h3>Achternaam formulier</h3>
<form action="evaluatieachternaam.php" method="post">
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="122"><h4>Achternaam: </h4></td>
<td colspan="2"> <h5>
<input type="text" name="achternaam" size="50" maxlength="50" value=" ">
</h5></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2">
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2"> <input type="reset" name="Reset" value="Reset">
<input type="submit" name="Verzenden" value="Verzenden"> </td>
</tr>
</table>
</form>
</body>
</html>

evaluatieachternaam:

<html>
<head>
<title>Clubleden formulier evaluatie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
</style>
<link href="../css/formulier.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h3>Evaluatie van het demonstratieformulier</h3>
<h4>De volgende gegevens werden ingesteld in het demonstratieformulier:</h4>
<table width="686" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="194"><h5>Achternaam:</h5></td>
<td width="492">
</td>
</tr>
</table>
</body>
</html>
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php

// Define database connection details
include 'dbwachtwoorden.php';
//$table = "formulier";

// Connect to dbase

include 'dbconnection.php';

$voornaam = $_POST['voornaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$geslacht = $_POST['geslacht'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$plaatsnaam = $_POST['plaatsnaam'];
$geboortedatum = $_POST['geboortedatum'];
$huistelefoon = $_POST['huistelefoon'];
$mobiel = $_POST['mobiel'];
$emailadres = $_POST['emailadres'];
$lidnummer = $_POST['lidnummer'];
$team = $_POST['team'];
$opmerkingen = $_POST['opmerkingen'];


// SELECT FROM tablenaam
$sql = "SELECT * FROM ledenformulier WHERE achternaam = '$achternaam' ORDER BY achternaam, voornaam";
$resultaat = mysql_query($sql) or die (mysql_error ()); // voer SQL code uit

echo "<table width=1400 border=1 cellspacing=2 cellpadding=2>";
//echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";
echo "<tr><td><b>ID</b></td><td><b>Lidnr</b></td><td><b>Naam</b></td><td><b>&nbsp;</b></td><td><b>Adres</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>Telefoon</b></td><td><b>Mobiel</b></td><td><b>Geboren</b></td><td><b>Geslacht</b></td><td><b>Emailadres</b></td><td><b>Team</b></td>";
echo "<tr><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td><td><b>&nbsp;</b></td>";

    while ($rij = mysql_fetch_object ($resultaat)) {

    echo '<tr>';
    echo '<td>' . $rij['nr_ID'] . ':&nbsp;</td>';
    echo '<td>' . $rij['lidnummer'] . '</td>';
    echo '<td>' . $rij['achternaam'] . '</td>';    
    echo '<td>' . $rij['voornaam'] . ' ' . $rij['tussenvoegsel'] . '</td>';
    echo '<td>' . $rij['straatnaam'] . '</td>';
    echo '<td>' . $rij['huisnummer'] . '</td>';
    echo '<td>' . $rij['postcode'] . '</td>';
    echo '<td>' . $rij['plaatsnaam'] . '</td>';
    echo '<td>' . $rij['huistelefoon'] . '</td>';
    echo '<td>' . $rij['mobiel'] . '</td>';
    echo '<td>' . $rij['geboortedatum'] . '</td>';
    echo '<td>' . $rij['geslacht'] . '</td>';    
    echo '<td>' . $rij['emailadres'] . '</td>';
    echo '<td>' . $rij['team'] . '</td>';
    echo '</tr>';

    }

echo '</table>';
?>
Gewijzigd op 11/11/2005 20:15:00 door Jan Koehoorn
 
Marc koster

marc koster

11/11/2005 20:42:00
Quote Anchor link
Geen enkele foutmelding. Ook niet in mijn "oude script" , maar in de script van Jan werkt nu ook de naam achternaam niet meer.

Ik heb nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $achternaam;
?>


in mijn evaluatieachternaam bestand geplaatst.
Ik krijg hier wel de ingevulde achternaam dus hij leest de variabele wel goed.
Maar de tabel blijft leeg.

http://www.schoten.nl/registratie/formulierachternaam.php
Hier krijg je een beeld van hoe het ervoor staat.
Tik maar eens "achternaam" in. (zonder de quotes natuurlijk)
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 20:44:00
Quote Anchor link
Hij vraagt om een username en een password

edit en bij allebei 'achternaam' invullen werkt niet
Gewijzigd op 11/11/2005 20:45:00 door Jan Koehoorn
 
Marc koster

marc koster

11/11/2005 20:47:00
Quote Anchor link
Ja sorry, ik heb dit even verwijderd.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 20:49:00
Quote Anchor link
Okee, ik heb hem in beeld.

Na je </html> tag zie ik nog code staan. Dat mag niet.
Ik ga ff verder snuffelen.
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 20:57:00
Quote Anchor link
Hoeveel records zitten er eigenlijk in je tabel?
 
Jan Koehoorn

Jan Koehoorn

11/11/2005 21:00:00
Quote Anchor link
En probeer dit eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// SELECT FROM tablenaam
$sql = "SELECT * FROM ledenformulier WHERE achternaam LIKE '%$achternaam%' ORDER BY achternaam, voornaam";
?>
 
Marc koster

marc koster

11/11/2005 21:09:00
Quote Anchor link
Er zitten 60 records in de tabel.
Ook dit geeft de zelfde resultaten.

Als je je emailadres naar [email protected] stuurt, mail ik je de 2 php-bestanden. Als je dit wilt natuurlijk.
 

Pagina: 1 2 volgende »



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.