fout in formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Corina van Weert

Corina van Weert

02/12/2013 16:08:09
Quote Anchor link
Ik krijg het maar niet onder de knie. Formulier word al verzonden met het openen van de pagina. Verder werkt het al aardig. Wie wil me helpen. Zeg nu niet meteen wat een rommel want dat weet ik al ;) Zal nooit een kei worden in php. Ik wil alleen maar het formulier werkend krijgen :) Hieronder de code.

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
<?php
//ini_set('display_errors', 1);  
//error_reporting(E_ALL);  

session_start();

include("connect.php") ;
//include("ipban.php") ;

mysql_query("INSERT INTO demonstratie (naam,email,adres,plaats,datum,ip)
            VALUES ('"
.$naam."','".$email."','".$adres."','".$plaats."','".$datum."','".$ip."')") or die(mysql_error());

// Declareren variabelen
$melding_1 = 'naam';
$melding_n = 'email';
$melding_4 = '<b>Bedankt voor uw aanmelding.</b><br>Wij zullen zo spoedig mogelijk contact met U opnemen.';  
      echo "<br>";
      
//variabele benoemen dit is in principe niet nodig maar dit maakt het wel inzichtelijker
$naam = htmlspecialchars($_POST['naam']);  
$email = htmlspecialchars($_POST['email']);  
$adres = htmlspecialchars($_POST['adres']);  
$plaats = htmlspecialchars($_POST['plaats']);  
$tijd = time();  
$datum = strftime('%d/%m/%y %H:%M', $tijd);  
$ip = getenv('REMOTE_ADDR');  

    



// Declareren variabelen
$melding_1 = '';
$melding_2 = '';
$melding_3 = '';
$melding_4 = '';



if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

  $error = false;
    if ($_POST['naam'] == "")
    {

       $melding_1 = 'U heeft geen naam opgegeven!';  
       $error=true;
    }


    if ($_POST['email'] == "")
    {

       $melding_2 = 'U heeft geen e-mail adres opgegeven!';
     $error=true;

    }

 $melding_4 = '<b>Bedankt voor uw aanmelding.</b>';
     $error=true;

     if($error === false)
     {


      
      
       $ip="Ip-ADRES: ". $_SERVER['REMOTE_ADDR']."\n";
       $Datum="Datum: " . date("DD-MM-YYYY") . "\n";
      
    }
}



    

mail ("[email protected]", "inschrijving demonstratie", "
Hallo,\n

Er is zojuist een inschrijving demonstratie gemaakt door:\n
naam: $naam
email: $email
adres: $adres
plaats: $plaats
datum: $datum
ip-adres: $ip

Dit is een automatisch bericht van de website.
"
, "From: $naam <$email>");

?>
 
PHP hulp

PHP hulp

26/12/2024 22:42:11
 
Reshad F

Reshad F

02/12/2013 16:12:07
Quote Anchor link
hmm ja misschien de mail functie binnen je

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
?>


plaatsen?
Gewijzigd op 02/12/2013 16:12:23 door Reshad F
 
Bas IJzelendoorn

Bas IJzelendoorn

02/12/2013 16:13:16
Quote Anchor link
Je geeft niet aan dat als er op submit wordt geklikt er iets moet gebeuren. Nu doorloopt hij gewoon netjes de code. Kijk even naar het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if($_SERVER['REQUEST_METHOD'] == 'post'){
 // hier de php van het uitvoeren en verzenden van de mail
}
else {
 // hier het formulier
}
?>



edit: Iemand was mij voor :( ;)


toevoeging:

Je mail() moet na de accolade bij regel 65
Gewijzigd op 02/12/2013 16:15:05 door Bas IJzelendoorn
 
Corina van Weert

Corina van Weert

02/12/2013 16:13:48
Quote Anchor link
Wat is de fout ?

Btw dit is de link naar de pagina http://www.smolderstilburg.nl/demonstratie/demonstratie.php
 
Bas IJzelendoorn

Bas IJzelendoorn

02/12/2013 16:16:10
Quote Anchor link
zie vorige toevoeging. het mail verhaal moet je tussen de accolades plaatsen tussen regel 65 en 66
 
Corina van Weert

Corina van Weert

02/12/2013 16:21:35
Quote Anchor link
Maar nu komt mijn probleem als ik nu stukjes verplaats neem ik vaak een komma of haakje teveel of te weinig mee en dan gaat het helemaal fout ;-) Klinkt misschien wel te makkelijk maar kan iemand precies aangeven wat ik moet veranderen. Bedankt overigens voor jullie snelle reacties!

Toevoeging op 02/12/2013 16:23:15:

Ik ga het proberen ik zal laten weten of het is gelukt

Toevoeging op 02/12/2013 16:35:31:

Dat is opgelost! Bedankt.

Maar er zitten meer fouten in (hebben jullie vast al gezien;-) als ik niets invul en op de button verzenden klik stuurt hij de mail leeg weg. Dus in onderstaande stukje code zit ook een fout.

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
<?php
// Declareren variabelen
$melding_1 = '';
$melding_2 = '';
$melding_3 = '';
$melding_4 = '';



if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

  $error = false;
    if ($_POST['naam'] == "")
    {

       $melding_1 = 'U heeft geen naam opgegeven!';  
       $error=true;
    }


    if ($_POST['email'] == "")
    {

       $melding_2 = 'U heeft geen e-mail adres opgegeven!';
     $error=true;

    }

 $melding_4 = '<b>Bedankt voor uw aanmelding.</b>';
     $error=true;

     if($error === false)
     {

?>
Gewijzigd op 02/12/2013 16:38:45 door Corina van Weert
 
Reshad F

Reshad F

02/12/2013 18:04:00
Quote Anchor link
en nu nog controleren of je wel/geen errors hebt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

if($errors) {

echo 'je hebt errors';

}

else {
    // hier binnen komt je mail functie nu.
}

?>


en dit alles komt dan natuurlijk gelijk na de melding controles ( die uiteraard beter kunnen ) en voordat je de if($_SERVER['REQUEST_METHOD'] == 'POST') afsluit.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

02/12/2013 18:05:59
Quote Anchor link
kijk die accolades zijn er natuurlijk niet voor niets..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(/*stelling*/)
{

    // deze code wordt alleen uitgevoerd als de stelling waar (true) is.
}

// deze code wordt altijd uitgevoerd.
?>
Gewijzigd op 02/12/2013 18:06:30 door Frank Nietbelangrijk
 
Corina van Weert

Corina van Weert

02/12/2013 20:47:27
Quote Anchor link
Bedankt voor de hulp zover het gaat bijna allemaal goed nu. Maar ik heb nog een vraagje over de datum.
Met deze code $datum = strftime('%d/%m/%y %H:%M', $tijd); staat de datum in de mail goed maar in de database fout. Draai ik de datum om '%y/%m/%d dan staat de datum goed in de database maar weer fout in de mail.
 



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.