[php/mysql] data mailen en wegschrijven in database

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008

  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
Hallo,
Zoals de titel zegt, wil ik bij een contact form dat de data wordt gemailt, en weg geschreven in een database.
Nou heb ik aan de praat dat hij mailt, maar het database gedeelte krijg ik niet.
De gegevens die toegevoegd dienen te worden zijn alleen: naam, email en bericht
hieronder de code v an het mail gedeelte

PHP:
1
2
3
4
5
6
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))  
{  
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    {  
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>";

[ Voor 18% gewijzigd door HarryL op 03-04-2005 08:51 ]

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
Waar is de code van het database gedeelte? Mijn glazen bol is wat stuk namelijk
was niet bot bedoelt, 't is namelijk dat ik anders je niet kan helpen

[ Voor 32% gewijzigd door simon op 03-04-2005 08:53 ]

|>


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
Simon schreef op zondag 03 april 2005 @ 08:51:
Waar is de code van het database gedeelte? Mijn glazen bol is wat stuk namelijk
Beetje vriendelijke reactie mag ook wel :'(

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
Mijn DB code:
code:
1
2
3
 "insert into contact
(naam,mail,bericht) values
('$naam','$mail','$msggs')";

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
DjMaGiCh schreef op zondag 03 april 2005 @ 08:56:
Mijn DB code:
code:
1
2
3
 "insert into contact
(naam,mail,bericht) values
('$naam','$mail','$msggs')";
PHP:
1
mysql_query("INSERT INTO contact (naam, mail, bericht) VALUES ('" . addslashes($_POST['naam']) . "','" . addslashes($_POST['mail']) . "', '" . addslashes($_POST['msgggs]) . "')")  or die (mysql_error());

probeer dat eens

bij formulieren én register globals off gebruik je $_POST

[ Voor 17% gewijzigd door simon op 03-04-2005 09:00 ]

|>


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
Gaat volgens mij iets niet goed bij mij :P
Als ik em toe voeg ben ik me formulier kwijt...

[ Voor 121% gewijzigd door HarryL op 03-04-2005 09:14 ]

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
DjMaGiCh schreef op zondag 03 april 2005 @ 09:05:
Gaat volgens mij iets niet goed bij mij :P
Als ik em toe voeg ben ik me formulier kwijt...
Hoe ziet jouw totale code eruit?

zoiets?

PHP:
1
2
3
4
5
6
7
8
<?php
if ( $_SERVER['REQUEST_METHOD'] != "POST" ) {
// laat form zien
}
elseif (checkForms())
{
mysql_query("INSERT INTO contact (naam, mail, bericht) VALUES ('" . addslashes($_POST['naam']) . "','" . addslashes($_POST['mail']) . "', '" . addslashes($_POST['msgggs]) . "')")  or die (mysql_error()); 
}

[ Voor 14% gewijzigd door simon op 03-04-2005 09:17 ]

|>


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
mijn totale 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<style type="text/css">
<!--
body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
}
-->
</style>        <? 
function checkmail($mail) 
{ 
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1']; 
    $email_resolved = gethostbyname($email_host); 

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
        $valid = 1; 

    return $valid; 
} 

$mail_ontv = "h.lohr@test.nl"; 



if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    {  
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; 
    }  
   
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";  
    echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">";  
      
    echo "<tr><td>Naam:</td></tr>";  
    echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>";  
    echo "<tr><td>E-mail adres:</td></tr>";  
    echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>";  
    echo "<tr><td>Onderwerp:</td></tr>";  
    echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>";  
    echo "<tr><td>Bericht:</td></tr>";  
    echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>";  
    echo "<tr><td>&nbsp;</td></tr>";  
    echo "<tr><td>&nbsp;</td></tr>";  
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>";  
      

    echo "</form>";  
    echo "</table>";  
}  

else  
{      

    $datum = date("d.m.Y H:i");  
      

    $ip = $_SERVER['REMOTE_ADDR'];  
      
    $inhoud_mail = "===================================================\n";  
    $inhoud_mail .= "INGEVULD CONTACT FORMULIER\n";  
    $inhoud_mail .= "===================================================\n\n";  
      
    $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";  
    $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";  
    $inhoud_mail .= "Bericht:\n";  
    $inhoud_mail .= $_POST['msggs'] . "\n\n";  
      
    $inhoud_mail .= "Verstuurd op $datum via het ip " . $ip . "\n\n";  
      
    $inhoud_mail .= "===================================================\n\n";  
     
    $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";  
     
    mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);  
      
    echo "Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "; 
    echo "krijgen indien dit nodig is.<p>";      
     
    echo "We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "; 
    echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden gegeven."; 
} 
?>

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
En waar zou ik dat stukkie code moeten plaatsen? :?

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
DjMaGiCh schreef op zondag 03 april 2005 @ 10:16:
En waar zou ik dat stukkie code moeten plaatsen? :?
het is niet bedoelt ter letterlijke overname. Is een voorbeeld van zoals 't hoort.

|>


  • HarryL
  • Registratie: Januari 2003
  • Laatst online: 17-11-2025

HarryL

127.0.0.1

Topicstarter
haha okee ;)
Dan ben ik dus nog wat te newbie for understanding...
Ik zal kijken wat ik er mee kan...
in iedergeval bedankt ;)

I have gone to find myself, if I get back before I return, Please keep me here! PSNID: djmagich


Verwijderd

Denk er eens aan dat je ook connectie moet maken met de database. Verdiep je eens in de materie.

Tip: begin hier: http://nl2.php.net/mysql_connect

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Simon: Tegen SQL injection errors ed, gebruik dan mysql_real_escape_string() ipv addslashes() :) .

DM!


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08-05 23:48

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Volgens mij heb je de klok wel horen luiden, maar weet je niet waar de tepel hangt :) Je maakt eerst de db-verbinding, dan voer je een query uit. Overigens heb ik ook mijn twijfels over je email-adres validatie. Wat bijv. als de host anders is, maar fysiek wel naar dezelfde server wijst als de invoer? En als laatste nog een puntje van leesbaarheid:

PHP:
1
2
3
4
5
6
7
$spef .= 'woei';
$spef .= 'spef';

netter:

$spef .= 'woei' .
         'spef';


hth :)

/edit: php hoort overigens niet hier, maar in /14

[ Voor 11% gewijzigd door Thijsmans op 03-04-2005 12:16 ]

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:25

gorgi_19

Kruimeltjes zijn weer op :9

PHP hoort thuis in Programming & Webscripting. Echter, ook daar zal hij dicht gaan :) Ik denk dat je meer hebt aan een tutorial over SQL en PHP, want je mist nog de basis; het enige wat we daar kunnen doen is voorzeggen hoe het zou moeten of voorkauwen. Daar is Programming & Webscripting ook niet voor bedoeld :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.