script verstuurd wel mail maar plaatst niet in mysql DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robbert van Velsen

Robbert van Velsen

24/09/2010 23:05:47
Quote Anchor link
Hallo Hulpjes, ik heb het volgende script waar wel maar betreffende mail adressen de inhoud verstuurd word, maar ik krijg het niet voor elkaar om de zelfde info ook in de betreffende DB te krijgen,

Alvast bedankt voor de hulp;P

Toevoeging op 24/09/2010 23:06:03:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include"dbcon" ?>

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
<?php
    // VALUES FROM THE FORM
    $voornaam    = $_POST['voornaam'];
    $naam        = $_POST['naam'];
    $team        = $_POST['team'];
    $email        = $_POST['email'];
    $adres        = $_POST['adres'];
    $postcode    = $_POST['postcode'];
    $woonplaats    = $_POST['woonplaats'];
    $merk         = $_POST['merk'];
    $type         = $_POST['type'];
    $pks        = $_POST['pks'];
    $klasse        = $_POST['klasse'];
    $telefoonnmr    = $_POST['telefoonnmr'];
    $tstanmr    = $_POST['tstanmr'];
    $mobielnmr    = $_POST['mobielnmr'];
?>

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
<?
    // ERROR & SECURITY CHECKS
    if ( ( !$email ) ||
         (
strlen($_POST['email']) > 200 ) ||
         ( !
preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
       )
    {

        print "Error: Ongeldig E-Mail Adres";
        exit;
    }

    if ( preg_match("#cc:#i", $message, $matches) )
    {

        print "Error: Found Invalid Header Field";
        exit;
    }

        if (eregi("\r",$email) || eregi("\n",$email)){
        print "Error: Ongeldig Email adres";
        exit;
    }

    if (FALSE) {
        print "Error: You cannot send to an email address on the same domain.";
        exit;
    }



    // CREATE THE EMAIL
    $headers    = "Content-Type: text/plain; charset=iso-8859-1\n";

    $headers    .= "From: $voornaam $achternaam <$email>\n";
    $headers    .= "Bcc: [email protected]\r\n";
    $recipient    = "[email protected], [email protected]";
    $subject    = "Een inschrijving via de website ontvangen";
    $message    = "Inschrijving
    
    Naam: $voornaam $achternaam
    Team: $team
    Email: $email
    Adres: $adres
    Postcode: $postcode
    Woonplaats: $woonplaats
    
    Merk: $merk
    Type: $type
    PK's: $pks
    Klasse: $klasse
    
    Telefoonnummer: $telefoonnmr
    Mobielnummer: $mobielnmr
    
    Nummer van TSTA: $tstanmr"
;

    // SEND THE EMAIL TO YOU
    mail($recipient, $subject, $message, $headers);
    mysql_query("INSERT INTO `deelnemers` VALUES (NULL, NULL, '$naam', '$voornaam', '$team', '$email', '$adres ', '$postcode', '$woonplaats', '$klasse', '$merk', '$type', '$pks', '$telefoonnmr', '$tstanmr', '$mobielnmr', NULL, NULL)");
     mysql_close();
    // REDIRECT TO THE THANKS PAGE
        header("location: ../index.php?p=tanxmail");?>
Gewijzigd op 24/09/2010 23:07:27 door Robbert van Velsen
 
PHP hulp

PHP hulp

11/01/2025 04:53:47
 
- Ariën  -
Beheerder

- Ariën -

24/09/2010 23:09:39
Quote Anchor link
En WAT lukt er niet? Waar is je fout afhandeling? En je script is vatbaar voor SQL injection.
 
Robbert van Velsen

Robbert van Velsen

24/09/2010 23:11:08
Quote Anchor link
Aar anoniem op 24/09/2010 23:09:39:
En WAT lukt er niet? Waar is je fout afhandeling? En je script is vatbaar voor SQL injection.


Hij Verstuurd wel de data uit de $_Post naar de mail adressen, maar de zelfde post info, insert hij niet in de betreffende DB
 
Dalando De Zuil

Dalando De Zuil

24/09/2010 23:29:00
Quote Anchor link
1:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(FALSE)


Wat was je bedoeling daar?

Maak een goeie afhandeling.

2:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$message    = "Inschrijving
    
    Naam: $voornaam $achternaam
    Team: $team
    Email: $email
    Adres: $adres
    Postcode: $postcode
    Woonplaats: $woonplaats
    
....


Fout.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$message    = "Inschrijving
    
    Naam: ". $voornaam $achternaam ."
    Team: ". $team ."
    Email: ". $email ."
    Adres: ". $adres ."
    Postcode: ". $postcode ."
    Woonplaats: ". $woonplaats ."

....


Goed.

3:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    mysql_query("INSERT INTO `deelnemers` VALUES (NULL, NULL, '$naam', '$voornaam', '$team', '$email', '$adres ', '$postcode', '$woonplaats', '$klasse', '$merk', '$type', '$pks', '$telefoonnmr', '$tstanmr', '$mobielnmr', NULL, NULL)");

En nu wat beter:

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
    $query = "
            INSERT INTO 'deelnemers'
            (
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            kolomnaam,
            )
            VALUES
            (
            NULL,
            NULL,
            '$naam',
            '$voornaam',
            '$team',
            '$email',
            '$adres ',
            '$postcode',
            '$woonplaats',
            '$klasse',
            '$merk',
            '$type',
            '$pks',
            '$telefoonnmr',
            '$tstanmr',
            '$mobielnmr',
            NULL,
            NULL
            "
    if(mysql_query($query)){
        // Query ging goed
    }
    else
    {
        // Query ging fout.
    }
    

4: mysql_real_escape_string
 
Robbert van Velsen

Robbert van Velsen

24/09/2010 23:46:01
Quote Anchor link
Ik heb je aanpassingen door gevoerd, met 2 kleine wijzigingen, het probleem blijft het zelfde, ik heb ook de connections nagekeken en krijg van zowel php als sql geen foutmeldingen,

ander idee?

Toevoeging op 24/09/2010 23:47:56:

Robbert van Velsen op 24/09/2010 23:46:01:
Ik heb je aanpassingen door gevoerd, met 2 kleine wijzigingen, het probleem blijft het zelfde, ik heb ook de connections nagekeken en krijg van zowel php als sql geen foutmeldingen,

ander idee?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include"dbcon" ?>

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
<?php
    // VALUES FROM THE FORM
    $voornaam    = $_POST['voornaam'];
    $naam        = $_POST['naam'];
    $team        = $_POST['team'];
    $email        = $_POST['email'];
    $adres        = $_POST['adres'];
    $postcode    = $_POST['postcode'];
    $woonplaats    = $_POST['woonplaats'];
    $merk         = $_POST['merk'];
    $type         = $_POST['type'];
    $pks        = $_POST['pks'];
    $klasse        = $_POST['klasse'];
    $telefoonnmr    = $_POST['telefoonnmr'];
    $tstanmr    = $_POST['tstanmr'];
    $mobielnmr    = $_POST['mobielnmr'];
?>

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?
    // ERROR & SECURITY CHECKS
    if ( ( !$email ) ||
         (
strlen($_POST['email']) > 200 ) ||
         ( !
preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
       )
    {

        print "Error: Ongeldig E-Mail Adres";
        exit;
    }

    if ( preg_match("#cc:#i", $message, $matches) )
    {

        print "Error: Found Invalid Header Field";
        exit;
    }

        if (eregi("\r",$email) || eregi("\n",$email)){
        print "Error: Ongeldig Email adres";
        exit;
    }

    if (FALSE) {
        print "Error: You cannot send to an email address on the same domain.";
        exit;
    }



    // CREATE THE EMAIL
    $headers    = "Content-Type: text/plain; charset=iso-8859-1\n";

    $headers    .= "From: $voornaam $achternaam <$email>\n";
    $headers    .= "Bcc: [email protected]\r\n";
    $recipient    = "[email protected], [email protected]";
    $subject    = "Een inschrijving via de website ontvangen";
    $message    = "Inschrijving
    
    Naam: "
. $voornaam ." ".$naam ."
    Team: "
. $team ."
    Email: "
. $email ."
    Adres: "
. $adres ."
    Postcode: "
. $postcode ."
    Woonplaats: "
. $woonplaats ."
    
    Merk: "
.$merk ."
    Type: "
.$type ."
    PK's: "
.$pks ."
    Klasse: "
.$klasse ."
    
    Telefoonnummer: "
. $telefoonnmr ."
    Mobielnummer: "
. $mobielnmr ."
    
    Nummer van TSTA: "
. $tstanmr." ";

    // SEND THE EMAIL TO YOU
    mail($recipient, $subject, $message, $headers);
    
    $query = "
            INSERT INTO 'deelnemers'
            (
            id,
            startnr,
            naam,
            voornaam,
            team,
            email,
            adres,
            postcode,
            woonplaats,
            klasse,
            merk,
            type,
        pks,
        telefoonnmr,
        tstanmr,
        mobielnmr,
        betaald,
        aanwezig,
            )
            VALUES
            (
            NULL,
            NULL,
            '$naam',
            '$voornaam',
            '$team',
            '$email',
            '$adres ',
            '$postcode',
            '$woonplaats',
            '$klasse',
            '$merk',
            '$type',
            '$pks',
            '$telefoonnmr',
            '$tstanmr',
            '$mobielnmr',
            NULL,
            NULL
            "
;
    if(mysql_query($query)){
        // Query ging goed
    }
    else
    {
        // Query ging fout.
    }
     mysql_close();
    // REDIRECT TO THE THANKS PAGE
        header("location: ../index2.php?p=tanxmail");?>



Toevoeging op 25/09/2010 00:07:51:

Gefixt,

SQL Querie getest direct in mysql. en NULL op handmatig.

Tanx voor de INPUT.

SLOTJE
 
- Ariën  -
Beheerder

- Ariën -

25/09/2010 00:25:01
Quote Anchor link
Je moet wel wat doen als de query goet gaat het (zie commentaar). En als de query fout gaat: mysql_error().
 
- SanThe -

- SanThe -

25/09/2010 05:46:20
Quote Anchor link
Script is lek => SQL-Injection
 
Dalando De Zuil

Dalando De Zuil

25/09/2010 08:30:01
Quote Anchor link
Bijvoorbeeld op regel 81:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'$naam',


Vervang dat door:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'". mysql_real_escape_string($naam) ."',


Doe dat op elke regel zo, waarbij je een $variable gebruikt.

Beveiliging, tenzij je wilt dat zelfs de simpele hackers je website plat kunnen leggen.
Gewijzigd op 25/09/2010 08:30:37 door Dalando De Zuil
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.