Tot nu toe was het mij gelukt om een simpel formulier op te slaan in een MYsql database.
Ik waag mij nu aan iets moeilijker. Het is een formulier verspreid over een 3 tal pagina's. Het uiteindelijke script om de gegevens weg te schrijven lijkt mij uitgevoerd te worden maar toch staat er niets in de database. Je kan een een ander eens uitproberen op www.telecomvanassche.be/formtevr.php.
Het uiteindelijke script om weg te schrijven is dit hier. Waar ga ik in de fout, ik ben al uren bezig met nonkel Google te teisteren.
Alvast bedankt als je mij mijn fouten kunt aantonen.

<?php
// open database

$username="xxxxxxxx";
$password="xxxxxxxx";
$database="xxxxxxxx";

mysql_connect("xxxxxxxxx.be.mysql",$username,$password);

@mysql_select_db($database) or die( "Unable to select database");




//let's start our session, so we have access to stored data
session_start();


//let's create the query
$insert_query = "insert into eva_tevr(
datum,
factnr,
email,
verkoper,
vriendwin,
uitleg,
crossel,
aanbod,
conform,
verkoop,
opm_winkel,
technieker,
vriendserv,
instserv,
afspraakserv,
uitlegserv,
crosselserv,
service,
opm_serv,
buralg,
bursnel,
buroplos,
admin,
opm_admin
) values (Default,
" . $_SESSION['datum'] . ",
" . $_SESSION['factnr'] . ",
" . $_SESSION['email'] . ",
" . $_SESSION['verkoper'] . ",
" . $_SESSION['vriendwin'] . ",
" . $_SESSION['uitleg'] . ",
" . $_SESSION['crossel'] . ",
" . $_SESSION['aanbod'] . ",
" . $_SESSION['conform'] . ",
" . $_SESSION['verkoop'] . ",
" . $_SESSION['opm_winkel'] . ",
" . $_SESSION['technieker'] . ",
" . $_SESSION['vriendserv'] . ",
" . $_SESSION['instserv'] . ",
" . $_SESSION['afspraakserv'] . ",
" . $_SESSION['uitlegserv'] . ",
" . $_SESSION['crosselserv'] . ",
" . $_SESSION['service'] . ",
" . $_SESSION['opm_serv'] . ",
" . $_POST['buralg'] . ",
" . $_POST['bursnel'] . ",
" . $_POST['buroplos'] . ",
" . $_POST['admin'] . ",
" . $_POST['opm_admin'] . "
)";

//let's run the query
mysql_query($insert_query);

//database sluiten
mysql_close();

# Redirect user to success page

header("Location: http://www.telecomvanassche.be/bedankttevr.html";);
?>
Voor zover ik begrijp zou ik uw voorbeeld 2 moeten invoegen (mits aanpassing uiteraard) in mijn script.
Ik ga dit uitproberen. Ik hoop dat dit mij zegt waar het fout loopt.
values (Default,

in welke kolom wil je Default zetten?
Wat is de bedoeling daarvan?

Volgens mij moet dat stuk "Default," gewoon weg.
Ignace Verschaeve op 19/01/2015 09:22:14

Voor zover ik begrijp zou ik uw voorbeeld 2 moeten invoegen (mits aanpassing uiteraard) in mijn script.
Ik ga dit uitproberen. Ik hoop dat dit mij zegt waar het fout loopt.

Of je nou iets insert (voorbeeld 2) of eruit selecteert (voorbeeld 1) of delete of update, foutafahandeling hoort er altijd in.

Lees ook vooral goed het gele commentaar in de scripts.
Ivo P op 19/01/2015 09:35:15

values (Default,

in welke kolom wil je Default zetten?
Wat is de bedoeling daarvan?

Volgens mij moet dat stuk "Default," gewoon weg.


Klopt maar dit is niet de reden dat mijn data niet wordt weggeschreven. Was eventjesblijven staan bij het uitproberen omdat ik dacht dat dit zo hoorde om het record ID in te vullen (auto-increment). Ik heb de uitdaging van dergelijk formmulier te maken eigenlijk aangenomen om een reden te hebben om mij in PHP te verdiepen.
tip:

verdiep je in zoiets door query's te schrijven van 3 kolommen.
Dat houdt eea wat overzichtelijker, en je zoekt niet EN naar fouten in je aanpak EN een typfout.

Maar zoals gezegd: altijd controleren of je query gelukt is (en niet botweg redirecten naar "het is gelukt"pagina's.
Denk ook eens aan veiligheid.
Nu is de query onbeveiligd, met alle risico's.
Heb geprobeerd die foutafhandeling erin te zetten. Vermoedelijk (zeer zeker) een fout gemaakt want nu is het resultaat de grote leegte, een maagdelijk wit scherm. Mannen/vrouwen gezocht die mij mijn fouten wijzen. Dit is het resultaat
<?php
// open database

$username="xxxxxx";
$password="xxxxxx";
$database="xxxxxx";

mysql_connect("xxxxxx.be.mysql",$username,$password);

@mysql_select_db($database);




//let's start our session, so we have access to stored data
session_start();

//Fout afhandeling

//errors weergeven
ini_set('display_errors',0); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

// sql debug
define('DEBUG_MODE',false); // true == aan, false == uit

//functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}

//let's create the query
$insert_query = "insert into eva_tevr(
datum,
factnr,
email,
verkoper,
vriendwin,
uitleg,
crossel,
aanbod,
conform,
verkoop,
opm_winkel,
technieker,
vriendserv,
instserv,
afspraakserv,
uitlegserv,
crosselserv,
service,
opm_serv,
buralg,
bursnel,
buroplos,
admin,
opm_admin
) values (
" . $_SESSION['datum'] . ",
" . $_SESSION['factnr'] . ",
" . $_SESSION['email'] . ",
" . $_SESSION['verkoper'] . ",
" . $_SESSION['vriendwin'] . ",
" . $_SESSION['uitleg'] . ",
" . $_SESSION['crossel'] . ",
" . $_SESSION['aanbod'] . ",
" . $_SESSION['conform'] . ",
" . $_SESSION['verkoop'] . ",
" . $_SESSION['opm_winkel'] . ",
" . $_SESSION['technieker'] . ",
" . $_SESSION['vriendserv'] . ",
" . $_SESSION['instserv'] . ",
" . $_SESSION['afspraakserv'] . ",
" . $_SESSION['uitlegserv'] . ",
" . $_SESSION['crosselserv'] . ",
" . $_SESSION['service'] . ",
" . $_SESSION['opm_serv'] . ",
" . $_POST['buralg'] . ",
" . $_POST['bursnel'] . ",
" . $_POST['buroplos'] . ",
" . $_POST['admin'] . ",
" . $_POST['opm_admin'] . "
)";

//let's run the query
mysql_query($insert_query);

// Check of query is gelukt
if (($result_insert_query = mysql_query($sql_insert_query)) === false)
{
//als de query fout is -> foutafhandeling
echo showSQLError($sql_insert_user,mysql_error(),'Fout bij het invoegen van de gebruiker.');
}
else
{
// De query is geluk! :)

echo 'Reactie is toegevoegd!';
//database sluiten
mysql_close();

# Redirect user to success page

header("Location: http://www.telecomvanassche.be/bedankttevr.html";);
?>
je function mist de afsluitende } op regel 38

[size=xsmall]Toevoeging op 19/01/2015 10:19:31:[/size]

en de { op regel 102 heeft ook geen } op regel 112


[size=xsmall]Toevoeging op 19/01/2015 10:20:36:[/size]

en het is wel handig om op regel 25 de debugmode juist AAN te zetten
Foutjes aangepast. Nu zegt die mij wel dat er een fout is maar nu weet ik nog altijd niet wat de fout veroorzaakt, of waar.
Kan ik op een of andere manier controleren of er wel data in de velden zit. Je ziet ik moet alles nog leren.

Reageren