Ik probeer al wekenlang uit te vinden waarom mijn mysql database niet wordt ge-update met de nieuwe en/of eerste data die ik hem aanbied. Ik denk dat ik ergens een denkfout maak.
Aan het einde van deze routine bij de query "mysql_query("INSERT INTO custumer_id..." zou ik de database moeten updaten. Dit script "POST_CREATE.PHP" maakt onderdeel uit van meerdere scripts die samen de website vormen. Dit script bedoelt als onderdeel van het kunnen inloggen op de site. Een account wordt aangemaakt, het wachtwoord wordt md5 versleuteld en deze data van de inschrijver wordt vergaard en verstuurd naar de mysql database. Deze wordt niet geacepteerd.
De scripts zijn origineel door iemand anders gemaakt, maar verder door mij ontwikkelt. Ik kan daar dus niet op terugvallen.
Ik ben echter niet dagelijks met PHP bezig alhoewel ik er wel veel van begrijp. Ik hoop op een beginnersfout.
Aan het einde van dit scrip heb ik een testblokje gemaakt om te kijken waarmee de variabelen gevuld zijn. Hieruit blijkt dat de encryptie goed gaat.
Mijn vraag is hoe kan ik er voor zorgen dat de data wel in de database wordt opgenomen, c.q. wordt ge-update?
Alvast heel erg bedankt!
Begin code:
=========================
<?php
// POST_CREATE.PHP Onderhoud klantdata en password
// De $_POST variabele is een array van variabele namen en waarden verzonden met de HTTP POST methode.
// De $_POST variabele wordt gebruikt om formulier waarden op te halen verzonden met de method="post" methode.
// Informatie verzonden met de POST methode is onzichtbaar voor anderen en heeft geen limiet met de
// hoeveelheid data die verzonden wordt.
// Het "welkom.php" bestand kan nu de $_POST variable gebruiken om de data op te halen (De formulier
// veldnamen worden automatisch de ID sleutels in de $_POST array.)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CONTROLEERT OF ER EEN 'letter' IS
if (isset($_POST['letter']))
{
$_POST['letter'] = 1;
}
else
{
$_POST['letter'] = 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// POST OVERZETTEN NAAR DE ARRAY $input
if (!empty($_POST)) // Als $_POST niet leeg is.
{
$input = array(
$_POST['def_lang'],
$_POST['def_gen'],
$_POST['name_1'],
$_POST['name_2'],
$_POST['company'],
$_POST['address1'],
$_POST['address2'],
$_POST['city'],
$_POST['country'],
$_POST['telnr'],
$_POST['email'],
$_POST['letter']);
// OPHALEN SESSIE-TAAL
$_SESSION['lang'] = $input[0];
// VELDEN INLADEN IN GEKOZEN SESSIE-TAAL in ARRAY $empty_c
// [''] = LEEG
// [''] = LEEG
// [TEXT_Erln] = Achternaam
// [TEXT_Erfn] = Voornaam
// [''] = LEEG
// [TEXT_Erad] = Adres
// [TEXT_Erzip] = Postcode
// [TEXT_Ercity] = Woonplaats
// [''] = LEEG
// [''] = LEEG
// [TEXT_Ermail] = E-mailadres
// [''] = LEEG
//
// $empty_t = TEXT_Ermain = Tekst: 'We hebben niet ontvangen:'
$empty_c = array(
'',
'',
TEXT_Erln,
TEXT_Erfn,
'',
TEXT_Erad,
TEXT_Erzip,
TEXT_Ercity,
'',
'',
TEXT_Ermail,
'');
$empty_t = TEXT_Ermain;
$mi = 0;
$li = 0;
// ALS EEN VELD BESTAAT
while (isset($input[$li]))
{
// ALS VELD LEEG IS MAAR VELDAANDUIDING BESTAAT WEL VUL DAN ARRAY $empty_l met VELDAANDUIDING
if (($input[$li] == '') AND ($empty_c[$li] != ''))
{
$empty_l[$mi] = $empty_c[$li];
$mi++;
}
$li++;
}
// !eregi IS DEPRECATED 25-03-2010
// ALS ER GEEN 'email' OF EEN ONGELDIG E-MAILADRES WERD OPGEGEVEN
if (($_POST['email'] != '') AND (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i', strtolower($input[10]))))
{
// LAAD BOODSCHAP 'GEEN (GELDIG) E-MAILADRES' IN
$empty_l[$mi] = TEXT_Ervmail;
$mi++;
}
//ALS 'EMAIL' NIET LEEG EN WEL GELDIG IS
elseif ($_POST['email'] != '')
{
// CONTROLEER OP REEDS BESTAANDE E-MAILADRES OF BIEDNUMMER
$query_cm = "SELECT * FROM custumer_id WHERE email = '".$_POST['email']."' AND bied_nr='0'";
$result = mysql_query($query_cm);
if ((mysql_num_rows($result) > 0) AND ((!isset($_SESSION['Costum_iD'])) OR (!isset($_SESSION['Admino_iD']))))
{
// ALS E-MAILADRES REEDS IN GEBRUIK IS
$empty_l[$mi] = TEXT_Erfmail;
}
}
}
// ALS E-MAILADRES IS GEACCEPTEERD
if (!isset($empty_l))
{
$li = 0;
while (isset($input[$li]))
{
// VERWIJDER HAKEN en QOUTES
$input[$li] = str_replace(array("<",">","'"),array('','','’'), $input[$li]);
$li++;
}
// ALS ER EEN KLANTCODE OF ADMIN-ID BESTAAT
if ((isset($_SESSION['Costum_iD'])) OR (isset($_SESSION['Admino_iD'])))
{
if (isset($_SESSION['Costum_iD']))
{
// BESTAAT ER EEN KLANTCODE, LAADT DEZE DAN IN $edit_id
$edit_id = $_SESSION['Costum_iD'];
}
else
{
// BESTAAT ER EEN ADMIN-ID, LAADT DEZE DAN IN $edit_id
$edit_id = $_SESSION['Admino_iD'];
}
// ZET (OF UPDATE) KLANTDATA IN DATABASE
mysql_query("
UPDATE custumer_id
SET
gender= '".$input[1]."',
l_name = '".$input[2]."',
f_name = '".$input[3]."',
company = '".$input[4]."',
address_1 = '".$input[5]."',
address_2 = '".$input[6]."',
city = '".$input[7]."',
country = '".$input[8]."',
tel_nr = '".$input[9]."',
email = '".$input[10]."',
lang = '".$input[0]."',
letter= '".$_POST['letter']."'
WHERE id = '".$edit_id."'");
// $pers_mssg = "UW ACCOUNT IS BIJGWERKT!"
$pers_mssg = TEXT_updac;
}
// ALS ER NOG GEEN ACCOUNT BESTAAT
else
{
//Random namen
$Pass_w = array (
"Boek","Auteur","Schrijver","Incunabel","Letter","Parafrase","Paragraaf","Titel","Novelle","Accent",
"Citaat","Gedicht","Dichter","Manuscript","Illustratie","Biologie","Biografie","Monografie","Vondel",
"Cats","Archeologie","Bibliografie","Kaft","Boekbinding","Katern","Indonesia","Plato","Aristotelus",
"Medea","Oedipus","Odysseus","Voorplat","Preeg","Houtsnede","Calligrafie","Lithografie","Kopergravure",
"Narcissus","Achilles","Adonis","Antigone","Aphrodite","Argus","Ariadne","Artemis","Daedalus","Dionysus",
"Helios","Hermes","Hyperions","Icarus","Minotaur","Morpheus","Muze","Nimph","Orpheus","Penelope","Persephone",
"Pollux","Prometheus","Rhea","Phaedrus","Pytagoras","Ilias","Homeros","Plutarchus","Plato","Zeno","Vergilius",
"Cicero","Horatius","Ovidius","Perpetua","Euclides","Euripides","Sophocles","Epicures","Codex","Lexicon",
"Literatuur","Sonnet","Emblemata","ExLibris","Drukpers");
// "","","","","","","","","","","","","","","","","","","",
// "","","","","","","","","","","","","","","","","","","",
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// MAAK E-MAIL AAN
// $Shop = Naam van de shop
// $shop[0] = Letter 'A'??
// $result2 = Bericht ID
// $shop_mail[0] = "Welkom bij Amsterdam Book Auctions"
// $shop_mail[1] = "U heeft een account aangemaakt bij Amsterdam Book Auctions. U kunt nu inloggen...
$totaal = count ($Pass_w); // Aantal (wacht)woorden
$willekeur = mt_rand(1,$totaal-1); // Random volgnummer van wachtwoord binnen de lijst
$passw_num = mt_rand(10001,99999); // Random getal van 5 cijfers
$PassW_in = $Pass_w[$willekeur].$passw_num; // Aangemaakt wachtwoord
$direct_link = TEXT_dir_link; // 'Hieronder vindt u de link naar de loginpagina...
$casesens = TEXT_case_sens; // 'Uw wachtwoord is hoofdlettergevoelig...
$einde_mail = TEXT_maileinde; // Einde mail; Welkom op de website
$ondertitel = TEXT_ondertitel; // Veilingmeester
$login_link = 'http://www.amsterdambookauctions.com/index.php?page=login';; // Link naar loginpagina website
$query_sh = "SELECT shop_name, shop_owner, email FROM shop_info"; // query voor ophalen Shop ID
$result = mysql_query($query_sh); // Shop ID
if (mysql_num_rows($result) > 0)
{
while ($shop_inf = mysql_fetch_row($result))
{
$shop = $shop_inf[0];
$query_ma = "SELECT title_".$_SESSION['lang'].", mail_".$_SESSION['lang']."
FROM email_list
WHERE mail_sub = 'welcome'";
$result2 = mysql_query($query_ma);
if (mysql_num_rows($result2) > 0)
{
while ($shop_mail = mysql_fetch_row($result2))
{
$mail_cont = $shop_mail[1]."\n"
."Uw wachtwoord is:"."\n"
.$PassW_in."\n \n"
.$direct_link."\n"
.$login_link."\n \n"
.$einde_mail." \n \n"
.$shop_inf[1]."\n"
.$ondertitel
;
// $input[10] = geadresseerde
// $shop_mail[0] = Onderwerp e-mail
// $mail_cont = Inhoud e-mail
// $shop_inf[1] = Shopowner
// $shop_inf[2] = Afzender (FROM:)
// $login_link = link naar de login pagina
// VERZEND E-MAIL
mail(strtolower($input[10]), $shop_mail[0], $mail_cont, "From: ".$shop_inf[2]);
}
}
}
}
// SCHRIJF DE KLANTDATA NAAR DATABASE - .md5($PassW_in). is de hash encryptor die de password versleuteld.
// GETEST - '".strtolower($input[10])."', = OK
// GETEST - Namen databasevelden komen overeen = OK
mysql_query("INSERT INTO custumer_id
(
gender,
l_name,
f_name,
company,
address_1,
address_2,
city,
country,
tel_nr,
email,
lang,
pass_w,
time_cr,
last_visit,
letter)
VALUES
(
'".$input[1]."',
'".$input[2]."',
'".$input[3]."',
'".$input[4]."',
'".$input[5]."',
'".$input[6]."',
'".$input[7]."',
'".$input[8]."',
'".$input[9]."',
'".$input[10]."',
'".strtolower($input[10])."',
'".md5($PassW_in)."',
'".$now."',
'".$now."',
'".$_POST['letter']."')
");
// testblokje
//print ($input[1]);
//print ($input[2]);
//print ($input[3]);
//print ($input[4]);
//print ($input[5]);
//print ($input[6]);
//print ($input[7]);
//print ($input[8]);
//print ($input[9]);
//print ($input[10]);
//print ($input[0]);
print (custumer_id);
print (" - ");
print ($input[10]);
print (" - ");
print ($PassW_in);
print (" - ");
print (md5($PassW_in));
//$pers_mssg = Uw account is aangemaakt, open uw email...;
//$pers_mssg = TEXT_sucnwac;
}
}
?>
3.718 views