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";);
?>
Kijk dit is de code die ik gebruik. Soms werkt het soms niet.
<?php
//Timezone
date_default_timezone_set("Europe/Brussels");

// Stap 2 in formtevr1 let's start the session na de input van formtevr
session_start();

//now, let's register our session variables
session_register('datum');
session_register('factnr');
session_register('email');
session_register('verkoper');

//finally, let's store our posted values in the session variables
$_SESSION['datum'] = $_POST['datum'];
$_SESSION['factnr'] = $_POST['factnr'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['verkoper'] = $_POST['verkoper'];

?>

<form id="form_4" action="formtevr2.php" method="post" target="_self" class="OBJ-1" __AddCode="here" style="position:absolute;left:10px;top:271px;width:1046px;height:469px;/*Add Style*/">
session_register() is oud en wordt al niet meer ondersteund. weg er mee!
Goed mogelijk, ik ben er vet mee, maar wat is het alternatief? ;-)
"maar wat is het alternatief? ;"

niets.

Vroeger was het:

<?php
session_start();

$naam = 'jan';
session_register('naam');
?>

ruim 10 jaar geleden is dat geworden:

<?php
session_start();

$_SESSION['naam'] = 'jan';
?>

[size=xsmall]Toevoeging op 21/01/2015 14:19:05:[/size]

en dat heb jij al staan...
Een beetje zitten zoeken maar ik geraak er niet uit. Volgens mij kan dit stukje code eruit:
//now, let's register our session variables
session_register('datum');
session_register('factnr');
session_register('email');
session_register('verkoper');

volgens deze site: http://php.net/manual/en/function.session-register.php


[size=xsmall]Toevoeging op 21/01/2015 14:30:37:[/size]

Ondertussen heb je gereageerd. Blijkbaar was de site waar ik de code gehaald heb niet echt meer up to date.
http://www.html-form-guide.com/php-form/php-order-form.html

Je ziet ik zoek overal. Ik ben blij dat ik nu niets te weinig heb maar wel teveel. Is weeral niet goed ;-)
Ik moet nog veel leren.
dat was ongeveer wat ik met mijn opmerking op de 19e bedoelde:


als gij den middeleeuwschen ende verouderden functionaanroepen op den regelen 7 tot en met 10 een verwijderde ende weghaalde?
Had dat toen niet gesnapt omdat ik in de verkeerde codetabel zat te kijken.
Bij deze heb ik dit gedaan maar nu werkt het eindscript niet meer. Maagdelijk blanke pagina. Kan terug beginnen zoeken.
<?php
// open database

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

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();

//We zetten dit volledig bovenaan

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

// sql debug
define('DEBUG_MODE',true); // 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 (
'" . mysql_real_escape_string($_SESSION['datum']) . "',
'" . mysql_real_escape_string($_SESSION['factnr']) . "',
'" . mysql_real_escape_string($_SESSION['email']) . "',
'" . mysql_real_escape_string($_SESSION['verkoper']) . "',
'" . mysql_real_escape_string($_SESSION['vriendwin']) . "',
'" . mysql_real_escape_string($_SESSION['uitleg']) . "',
'" . mysql_real_escape_string($_SESSION['crossel']) . "',
'" . mysql_real_escape_string($_SESSION['aanbod']) . "',
'" . mysql_real_escape_string($_SESSION['conform']) . "',
'" . mysql_real_escape_string($_SESSION['verkoop']) . "',
'" . mysql_real_escape_string($_SESSION['opm_winkel']) . "',
'" . mysql_real_escape_string($_SESSION['technieker']) . "',
'" . mysql_real_escape_string($_SESSION['vriendserv']) . "',
'" . mysql_real_escape_string($_SESSION['instserv']) . "',
'" . mysql_real_escape_string($_SESSION['afspraakserv']) . "',
'" . mysql_real_escape_string($_SESSION['uitlegserv']) . "',
'" . mysql_real_escape_string($_SESSION['crosselserv']) . "',
'" . mysql_real_escape_string($_SESSION['service']) . "',
'" . mysql_real_escape_string($_SESSION['opm_serv']) . "',
'" . mysql_real_escape_string($_POST['buralg']) . "',
'" . mysql_real_escape_string($_POST['bursnel']) . "',
'" . mysql_real_escape_string($_POST['buroplos']) . "',
'" . mysql_real_escape_string($_POST['admin']) . "',
'" . mysql_real_escape_string($_POST['opm_admin']) . "'
)";

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

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

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

# Redirect user to success page

header("Location: http://www.telecomvanassche.be/bedankttevr.html";);

?>
Haal je databasegegevens even weg. Wel zo verstandig.
Zet de error reporting aan. Staat nu uit.
Had dat toen niet gesnapt omdat ik in de verkeerde codetabel zat te kijken.
Bij deze heb ik dit gedaan maar nu werkt het eindscript niet meer. Maagdelijk blanke pagina. Kan terug beginnen zoeken.
<?php
// open database

$username="xxxx";
$password="xxxxx";
$database="xxxxx";

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

mysql_select_db($database);




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

//We zetten dit volledig bovenaan

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

// sql debug
define('DEBUG_MODE',true); // 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 (
'" . mysql_real_escape_string($_SESSION['datum']) . "',
'" . mysql_real_escape_string($_SESSION['factnr']) . "',
'" . mysql_real_escape_string($_SESSION['email']) . "',
'" . mysql_real_escape_string($_SESSION['verkoper']) . "',
'" . mysql_real_escape_string($_SESSION['vriendwin']) . "',
'" . mysql_real_escape_string($_SESSION['uitleg']) . "',
'" . mysql_real_escape_string($_SESSION['crossel']) . "',
'" . mysql_real_escape_string($_SESSION['aanbod']) . "',
'" . mysql_real_escape_string($_SESSION['conform']) . "',
'" . mysql_real_escape_string($_SESSION['verkoop']) . "',
'" . mysql_real_escape_string($_SESSION['opm_winkel']) . "',
'" . mysql_real_escape_string($_SESSION['technieker']) . "',
'" . mysql_real_escape_string($_SESSION['vriendserv']) . "',
'" . mysql_real_escape_string($_SESSION['instserv']) . "',
'" . mysql_real_escape_string($_SESSION['afspraakserv']) . "',
'" . mysql_real_escape_string($_SESSION['uitlegserv']) . "',
'" . mysql_real_escape_string($_SESSION['crosselserv']) . "',
'" . mysql_real_escape_string($_SESSION['service']) . "',
'" . mysql_real_escape_string($_SESSION['opm_serv']) . "',
'" . mysql_real_escape_string($_POST['buralg']) . "',
'" . mysql_real_escape_string($_POST['bursnel']) . "',
'" . mysql_real_escape_string($_POST['buroplos']) . "',
'" . mysql_real_escape_string($_POST['admin']) . "',
'" . mysql_real_escape_string($_POST['opm_admin']) . "'
)";

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

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

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

# Redirect user to success page

header("Location: http://www.telecomvanassche.be/bedankttevr.html";);

?>
- SanThe - op 21/01/2015 14:57:24

Haal je databasegegevens even weg. Wel zo verstandig.
Zet de error reporting aan. Staat nu uit.


Edit je vorige post even.
De gegevens staan daar nog steeds in.
En zet de errors aan, misschien zie dan wat er fout gaat.

Reageren