Dreamweaver PHP 2 records invoegen in 2 databases in 1 formulier
Ik probeer binnen 1 formulier de NAW gegevens en de inloggegevens van een klant met 1 button weg te schrijven naar de databases met NAW gegevens en naar de database ,met login gegevens. Ik gebruik hiervoor tweemaal de insert functie. Uiteindelijk wordt maar 1 van de 2 database gevuld. ik hoop dat er mensen zijn die mij kunnen helpen. Ik heb mijn tanden er aardig op stuk gebeten.
Alvast bedankt
J.boer
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO `Lehman client input data` (`Achternaam eigenaar`, `Voornaam eigenaar`, `Achternaam mede-eigenaar`, `Voornaam mede-eigenaar`, `Bedrijfsnaam eigenaar aandelen`, `Aanspreekpunt binnen bedrijf`, Straat, Huisnummer, Plaatsnaam, Postcode, Land, `Bankrekeningnummer beleggersrekening`, Telefoonnummer, `Burger Service Nummer`, `Naam bank`, `E-mail adres`, `Rekeningnummer automatische incasso`, `Algemene voorwaarden`, ID) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['Achternaam_eigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_eigenaar'], "text"),
GetSQLValueString($_POST['Achternaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Bedrijfsnaam_eigenaar_aandelen'], "text"),
GetSQLValueString($_POST['Aanspreekpunt_binnen_bedrijf'], "text"),
GetSQLValueString($_POST['Straat'], "text"),
GetSQLValueString($_POST['Huisnummer'], "text"),
GetSQLValueString($_POST['Plaatsnaam'], "text"),
GetSQLValueString($_POST['Postcode'], "text"),
GetSQLValueString($_POST['Land'], "text"),
GetSQLValueString($_POST['Bankrekeningnummer_beleggersrekening'], "text"),
GetSQLValueString($_POST['Telefoonnummer'], "text"),
GetSQLValueString($_POST['Burger_Service_Nummer'], "text"),
GetSQLValueString($_POST['Naam_bank'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Rekeningnummer_automatische_incasso'], "text"),
GetSQLValueString($_POST['Algemene_voorwaarden'], "text"),
GetSQLValueString($_POST['ID'], "int"));
$insertSQL = sprintf("INSERT INTO `Contacts NEw` (Gebruikersnaam, Wachtwoord) VALUES (%s, %s)",
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"));
mysql_select_db($database_PVS, $PVS);
$Result1 = mysql_query($insertSQL, $PVS) or die(mysql_error());
Alvast bedankt
J.boer
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO `Lehman client input data` (`Achternaam eigenaar`, `Voornaam eigenaar`, `Achternaam mede-eigenaar`, `Voornaam mede-eigenaar`, `Bedrijfsnaam eigenaar aandelen`, `Aanspreekpunt binnen bedrijf`, Straat, Huisnummer, Plaatsnaam, Postcode, Land, `Bankrekeningnummer beleggersrekening`, Telefoonnummer, `Burger Service Nummer`, `Naam bank`, `E-mail adres`, `Rekeningnummer automatische incasso`, `Algemene voorwaarden`, ID) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['Achternaam_eigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_eigenaar'], "text"),
GetSQLValueString($_POST['Achternaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Bedrijfsnaam_eigenaar_aandelen'], "text"),
GetSQLValueString($_POST['Aanspreekpunt_binnen_bedrijf'], "text"),
GetSQLValueString($_POST['Straat'], "text"),
GetSQLValueString($_POST['Huisnummer'], "text"),
GetSQLValueString($_POST['Plaatsnaam'], "text"),
GetSQLValueString($_POST['Postcode'], "text"),
GetSQLValueString($_POST['Land'], "text"),
GetSQLValueString($_POST['Bankrekeningnummer_beleggersrekening'], "text"),
GetSQLValueString($_POST['Telefoonnummer'], "text"),
GetSQLValueString($_POST['Burger_Service_Nummer'], "text"),
GetSQLValueString($_POST['Naam_bank'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Rekeningnummer_automatische_incasso'], "text"),
GetSQLValueString($_POST['Algemene_voorwaarden'], "text"),
GetSQLValueString($_POST['ID'], "int"));
$insertSQL = sprintf("INSERT INTO `Contacts NEw` (Gebruikersnaam, Wachtwoord) VALUES (%s, %s)",
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"));
mysql_select_db($database_PVS, $PVS);
$Result1 = mysql_query($insertSQL, $PVS) or die(mysql_error());
Gesponsorde koppelingen:
Geen spaties in veld- en kolomnamen gebruiken. Gebruik underscores.
1. post code tussen de daarvoor bedoelde tags [code.] [./code] zoneder de punt
2. gooi dreamweaver in de prullenbak, want dat genereert alleen maar bagger code
3. backticks horen niet thuis in sql
4. leer op de juiste manier post/get enz te controleren en valideren
5. leer om goede foutafhandeling te implementeren
6. post alle errors/foutmeldingen die je om je oren krijgt
7. post queries zoals ze worden uitgevoerd
8. gebruik geen variabelen in database-, tabel- en veldnamen
Verdiep je eerst een hoe je een correcte database opzet, want je hebt nu tabel en veldbenamingen welke in feite niet door de beugel kunnen.
functies / construcites welke je dient te verbannen:
or die()
empty()
ereg_
2. gooi dreamweaver in de prullenbak, want dat genereert alleen maar bagger code
3. backticks horen niet thuis in sql
4. leer op de juiste manier post/get enz te controleren en valideren
5. leer om goede foutafhandeling te implementeren
6. post alle errors/foutmeldingen die je om je oren krijgt
7. post queries zoals ze worden uitgevoerd
8. gebruik geen variabelen in database-, tabel- en veldnamen
Verdiep je eerst een hoe je een correcte database opzet, want je hebt nu tabel en veldbenamingen welke in feite niet door de beugel kunnen.
functies / construcites welke je dient te verbannen:
or die()
empty()
ereg_
De fout zit er in dat je de eerste query helemaal niet uitvoert. Je gebruikt 2 keer de $insertSQL variabele, maar voordat je de eerste query daadwerkelijk uitvoert, wordt ie al overschreven door de 2e.
Verder moet je goed kijken naar de comments van zowel SanThe als ook Noppes. Al kan Noppes nog wel aan z`n sociale skills werken.. Hij heeft wel gelijk, backticks zijn niet handig, verwarrend en in jou geval VERPLICHT. Dus komt SanThe`s comment naar voren, en dat is spaties vervangen door een underscore.
or die(); is overbodig, je kunt het zelf ook afhandelen, kijk eens naar een paar tutorials hier.
empty() is niet verkeerd, zolang je weet dat 0 ook een false terug geeft.
ereg_ is oud, beter gebruik je de preg_ functies.
Code (php)
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
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
<?php
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1"))
{
$insertSQL = sprintf("
INSERT INTO
`Lehman client input data`
(
`Achternaam eigenaar`,
`Voornaam eigenaar`,
`Achternaam mede-eigenaar`,
`Voornaam mede-eigenaar`,
`Bedrijfsnaam eigenaar aandelen`,
`Aanspreekpunt binnen bedrijf`,
Straat,
Huisnummer,
Plaatsnaam,
Postcode,
Land,
`Bankrekeningnummer beleggersrekening`,
Telefoonnummer,
`Burger Service Nummer`,
`Naam bank`,
`E-mail adres`,
`Rekeningnummer automatische incasso`,
`Algemene voorwaarden`,
ID
) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
,
GetSQLValueString($_POST['Achternaam_eigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_eigenaar'], "text"),
GetSQLValueString($_POST['Achternaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Bedrijfsnaam_eigenaar_aandelen'], "text"),
GetSQLValueString($_POST['Aanspreekpunt_binnen_bedrijf'], "text"),
GetSQLValueString($_POST['Straat'], "text"),
GetSQLValueString($_POST['Huisnummer'], "text"),
GetSQLValueString($_POST['Plaatsnaam'], "text"),
GetSQLValueString($_POST['Postcode'], "text"),
GetSQLValueString($_POST['Land'], "text"),
GetSQLValueString($_POST['Bankrekeningnummer_beleggersrekening'], "text"),
GetSQLValueString($_POST['Telefoonnummer'], "text"),
GetSQLValueString($_POST['Burger_Service_Nummer'], "text"),
GetSQLValueString($_POST['Naam_bank'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Rekeningnummer_automatische_incasso'], "text"),
GetSQLValueString($_POST['Algemene_voorwaarden'], "text"),
GetSQLValueString($_POST['ID'], "int"));
mysql_select_db($database_PVS);
$Result1 = mysql_query($insertSQL);
$insertSQL = sprintf(
"INSERT INTO `Contacts NEw` ( Gebruikersnaam, Wachtwoord ) VALUES (%s, %s)",
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Email_adres'], "text")
);
mysql_select_db($database_PVS);
$Result1 = mysql_query($insertSQL);
}
?>
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1"))
{
$insertSQL = sprintf("
INSERT INTO
`Lehman client input data`
(
`Achternaam eigenaar`,
`Voornaam eigenaar`,
`Achternaam mede-eigenaar`,
`Voornaam mede-eigenaar`,
`Bedrijfsnaam eigenaar aandelen`,
`Aanspreekpunt binnen bedrijf`,
Straat,
Huisnummer,
Plaatsnaam,
Postcode,
Land,
`Bankrekeningnummer beleggersrekening`,
Telefoonnummer,
`Burger Service Nummer`,
`Naam bank`,
`E-mail adres`,
`Rekeningnummer automatische incasso`,
`Algemene voorwaarden`,
ID
) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
,
GetSQLValueString($_POST['Achternaam_eigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_eigenaar'], "text"),
GetSQLValueString($_POST['Achternaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Voornaam_medeeigenaar'], "text"),
GetSQLValueString($_POST['Bedrijfsnaam_eigenaar_aandelen'], "text"),
GetSQLValueString($_POST['Aanspreekpunt_binnen_bedrijf'], "text"),
GetSQLValueString($_POST['Straat'], "text"),
GetSQLValueString($_POST['Huisnummer'], "text"),
GetSQLValueString($_POST['Plaatsnaam'], "text"),
GetSQLValueString($_POST['Postcode'], "text"),
GetSQLValueString($_POST['Land'], "text"),
GetSQLValueString($_POST['Bankrekeningnummer_beleggersrekening'], "text"),
GetSQLValueString($_POST['Telefoonnummer'], "text"),
GetSQLValueString($_POST['Burger_Service_Nummer'], "text"),
GetSQLValueString($_POST['Naam_bank'], "text"),
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Rekeningnummer_automatische_incasso'], "text"),
GetSQLValueString($_POST['Algemene_voorwaarden'], "text"),
GetSQLValueString($_POST['ID'], "int"));
mysql_select_db($database_PVS);
$Result1 = mysql_query($insertSQL);
$insertSQL = sprintf(
"INSERT INTO `Contacts NEw` ( Gebruikersnaam, Wachtwoord ) VALUES (%s, %s)",
GetSQLValueString($_POST['Email_adres'], "text"),
GetSQLValueString($_POST['Email_adres'], "text")
);
mysql_select_db($database_PVS);
$Result1 = mysql_query($insertSQL);
}
?>
Verder moet je goed kijken naar de comments van zowel SanThe als ook Noppes. Al kan Noppes nog wel aan z`n sociale skills werken.. Hij heeft wel gelijk, backticks zijn niet handig, verwarrend en in jou geval VERPLICHT. Dus komt SanThe`s comment naar voren, en dat is spaties vervangen door een underscore.
or die(); is overbodig, je kunt het zelf ook afhandelen, kijk eens naar een paar tutorials hier.
empty() is niet verkeerd, zolang je weet dat 0 ook een false terug geeft.
ereg_ is oud, beter gebruik je de preg_ functies.
Gewijzigd op 29/01/2012 16:10:41 door Merijn Venema
Het is gelukt. Bedankt voor de reacties! De oplossing en samenvatting van Merijn was erg waardevol!!



