Versio

Dreamweaver PHP 2 records invoegen in 2 databases in 1 formulier

Overzicht Reageren

J boer

j boer

29/01/2012 14:15:31
Quote Anchor link
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());
 
PHP hulp

PHP hulp

24/05/2012 10:41:43
Gesponsorde koppelingen:
 
- SanThe -

- SanThe -

29/01/2012 14:30:28
Quote Anchor link
Geen spaties in veld- en kolomnamen gebruiken. Gebruik underscores.
 
Noppes Homeland

Noppes Homeland

29/01/2012 14:31:51
Quote Anchor link
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_
 
Merijn Venema

Merijn Venema

29/01/2012 16:10:12
Quote Anchor link
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.

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

}

?>


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
 
J boer

j boer

30/01/2012 12:13:10
Quote Anchor link
Het is gelukt. Bedankt voor de reacties! De oplossing en samenvatting van Merijn was erg waardevol!!
 



Overzicht Reageren

Get Adobe Flash player