Beginnen met formulieren en op zoek naar het stukje emailadres

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Johan van Poelgeest

Johan van Poelgeest

03/12/2017 19:12:22
Quote Anchor link
Code-tags toegevoegd. Gelieve in het vervolg deze zelf te plaatsen.
Wil ik natuurlijk graag doen maar ik zie door de bomen het bos niet.
Heb alles uitgeprint met als doel zoek de verschillen. Wil u mij een voorbeeld geven?
 
PHP hulp

PHP hulp

30/11/2024 01:00:27
 
- Ariën  -
Beheerder

- Ariën -

03/12/2017 19:15:09
Quote Anchor link
[code] en [/code] gebruiken om je script in het topic. Dan is je script daar goed leesbaar.
Gewijzigd op 03/12/2017 19:15:32 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/12/2017 22:43:04
Quote Anchor link
Ariën heeft gelijk. Feitelijk bouw je je pagina's (of liever je applicatie) in twee delen.

Het eerste deel is je applicatie waarin je gaat bepalen wat er moet gaan gebeuren.

In jouw redelijk eenvoudige code kan dit al variëren in de volgende dingen:
1. een leeg formulier tonen
2. een formulier tonen met foutmeldingen (nadat deze verstuurd is maar de validatie mislukt is)
3. de gegevens van het formulier verwerken (de mail sturen dus) en de gebruiker doorsturen naar een andere pagina.

Wanneer een gebruiker doorgestuurd moet worden dan is het niet meer logisch om nog een HTML pagina op te bouwen en vervolgens de gebruiker door te sturen.

in het tweede deel bouw je je HTML op.

Misschien is het een idee om dit eens te lezen, vervolgd door dit en dan je code nog eens te herzien.
Gewijzigd op 03/12/2017 22:43:51 door Frank Nietbelangrijk
 
Johan van Poelgeest

Johan van Poelgeest

04/12/2017 16:03:28
Quote Anchor link
Ik was al blij met het eerdere beeld maar alles blijk nu toch moeilijker dan ik dacht.
Ga de tweede link eens proberen en mocht het me dan nog niet lukken, schrijven de reünisten zich maar ouderwets in via een handgeschreven formulier per post.
 
- Ariën  -
Beheerder

- Ariën -

04/12/2017 16:06:14
Quote Anchor link
Het gaat er gewoon om dat je boven je HTML-code je PHP-script uitvoert, en je in de HTML je hoogstens beperkt tot het tonen van diverse waardes en foutmeldingen.
 
Michael -

Michael -

08/12/2017 17:34:59
Quote Anchor link
Doordat je een u met umlaut gebruikt in je onderwerp treed er een foutmelding op. Mogelijk ontvang je daardoor het bericht niet.
De volgende foutmelding treed op "said: 550 Subject contains invalid characters. (in reply to end of DATA command)"

Ofterwijl, Onderwerpt bevat speciale tekens die niet 'juist' zijn.
Als je perse de ü wilt gebruiken i.p.v. u zul je wat utf_encode/decode moeten toevoegen waarschijnlijk.
 
Johan van Poelgeest

Johan van Poelgeest

08/12/2017 20:26:13
Quote Anchor link
We hebben het over de ü an reünie, die gaan we vervangen.
Het lukt me nu al de mooiste formulieren te maken maar er wordt geen mail verzonden.
We gaan het proberen.
 
- Ariën  -
Beheerder

- Ariën -

08/12/2017 20:33:56
Quote Anchor link
Kan je anders je relevante code laten zien?
 
Johan van Poelgeest

Johan van Poelgeest

08/12/2017 23:10:30
Quote Anchor link
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
108
109
110
111
112
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>formulier_02</title>
<meta name="description" content="De Reniecommissie MHO organiseert regelmatig een renie
bestemd voor alle oud medewerkers van het Marine Hospitaal Overveen, zowel burgers als militairen, waaronder alle ziekenverplegers, die hun opleiding hebben gevolgd op Tetrode.">
<meta name="keywords" content="Marinehospitaal;Marine Hospitaal Overveen;MHO;ReniesiteMHO;Reniecommissie MHO;Tetrode:Tettrode">
<meta name="author" content="Johan van Poelgeest">
<meta name="generator" content="WYSIWYG Web Builder 12 - http://www.wysiwygwebbuilder.com">
<link href="Marinehosp.css" rel="stylesheet" type="text/css">
<link href="formulier_02.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
</div>
<?php

// functie die de formuliervelden valideert en foutmeldingen aanmaakt
function validate($naam, $email)
{

    $errors = array();
    
    // validatieregels voor de naam
    if(strlen($naam) < 2)
        $errors['naam'] = 'U heeft geen naam ingevuld.';
    
    // validatieregels voor het mailadres
    if(!strlen($email))
        $errors['email'] = 'U heeft geen email adres ingevuld.';
    else if(!filter_var($email, FILTER_VALIDATE_EMAIL))
        $errors['email'] = 'U heeft een ongeldig email adres ingevuld.';
    
    // geef de array met foutmeldingen terug
    return $errors;
}


// initialisatie
$errors = array();

// indien het formulier verstuurd is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // valideer de ingevulde gegevens
    $errors = validate($_POST['naam'], $_POST['email']);
    
    // als er geen fouten voortkomen uit de validatie
    if(!count($errors))
    {

        /*
         * Verwerk hier je formulier, bijvoorbeeld een email versturen of
         * de gegevens opslaan in de database
         */

        
         $onderwerp = "Inschrijving MHO reunie 2018";
         $inhoud = "inschrijving";
         $ontvanger = "[email protected]";
         $afzender = "[email protected]";
         $headers = array();
         $headers[ ] = "MIME-Version: 1.0";
         $headers[ ] = "Content-type: text/plain; charset=utf-8";
         $headers[ ] = "From: Afzendernaam <{$afzender}>";
         $headers[ ] = "Reply-To: Afzendernaam <{$afzender}>";
         $headers[ ] = "X-Mailer: PHP/".phpversion();
         mail($ontvanger, $onderwerp, $inhoud, implode("\r\n", $headers), "-f".$afzender);







        // redirect de gebruiker
        header('Location: feedback.html');
        exit;
    }
}

?>

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>inschrijving</title>
    </head>
    <body>
        <?php
            if(count($errors)) {
                echo '<ul id="errors">';
                foreach($errors as $error) {
                    echo '<li>' . $error . '</li>';
                }

                echo '</ul>';
            }

        ?>

        <form method="post">

    <p>
            <label for="voornaam">Voornaam  :</label>
            <input type="text" name="naam" value="">
        </p>

        <p>
            <label for="email">Emailadres:</label>
            <input type="email" name="email" value="">
        </p>
        
        <br>
            <button type="submit">Verzenden</button>
        </form>
    </body>
</html></body>
</html>

Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 08/12/2017 23:25:36 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

08/12/2017 23:30:33
Quote Anchor link
Lijn 65 t/m 75 (waarom zo veel witruimte?) aanpassen naar:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(mail($ontvanger, $onderwerp, $inhoud, implode("\r\n", $headers), "-f".$afzender)) {
        // redirect de gebruiker
        header('Location: feedback.html');
        exit;
} else {
    $errors['mailproblem'] = "Er is aan onze kant wat fout gegaan bij het versturen van het bericht. Gelieve ons handmatig een e-mail te sturen naar [email protected]";
}


Zie je dan die genoemde foutmelding, of wordt je netjes doorgestuurd?
Verder raden we nog steeds aan om de PHP-afhandeling boven je HTML te plaatsen, natuurlijk je HTML-document op orde te hebben.
Gewijzigd op 08/12/2017 23:32:20 door - Ariën -
 
Hans cappon

hans cappon

10/12/2017 23:08:31
Quote Anchor link
Ik zie dat je Wysiwyg Web Builder 12 gebruikt.
Je had daar ook je probleem kunnen voorleggen in het forum.
Probeer je formulier met de wysiwyg web builder 12 daar
eens een form te maken met de daar aanwezige template.
Ik vermoed dat je de onjuiste extensies gebruikt,
waardoor er geen mails verzonden worden.
Gewijzigd op 10/12/2017 23:09:19 door hans cappon
 
Thomas van den Heuvel

Thomas van den Heuvel

11/12/2017 00:23:16
Quote Anchor link
- Ariën - op 04/12/2017 16:06:14:
Het gaat er gewoon om dat je boven je HTML-code je PHP-script uitvoert, en je in de HTML je hoogstens beperkt tot het tonen van diverse waardes en foutmeldingen.

- Ariën - op 08/12/2017 23:30:33:
Verder raden we nog steeds aan om de PHP-afhandeling boven je HTML te plaatsen, natuurlijk je HTML-document op orde te hebben.

Dit zou het streven moeten zijn, maar dit kan niet altijd. Daarnaast denk ik dat het veel belangrijker is dat op een hoger niveau de verschillende acties op een of andere manier logisch gescheiden zijn. Denk bij acties aan: het opbouwen van het formulier, al dan niet met voor- of eerder ingevulde waarden, het verwerken van het formulier, het tonen van een bedank-boodschap na afloop et cetera.

Hoe brak de rest van de PHP/HTML code dan ook verweven is, de reikwijdte van invloed is dan beperkt tot die actie zelf. En dit helpt dan weer bij het afzonderlijk ontwikkelen en debuggen van genoemde onderdelen.
Gewijzigd op 11/12/2017 00:24:44 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

11/12/2017 11:44:21
Quote Anchor link
Maar in dit geval zou het zeker prima kunnen. Je benoemt namelijk de waarden in variabelen die je later gebruikt, en je echo'ed verder niks.
 
Johan van Poelgeest

Johan van Poelgeest

12/12/2017 15:28:14
Quote Anchor link
Het is me nog niet gelukt het php formulier te laten verzenden. Maar ik blijf oefenen.

Door de hulp van Dhr Hans Cappon hebben we nu "samen" (hij meer dan ik maar ik zie het licht)
een formulier ontworpen via Wysiwyg Web Builder en die werkt prima.

Allen die de moeite hebben genomen mij te helpen Bedankt.

Mochten er nog nieuwe ontwikkelingen ontstaan zal ik ze hier melden.

Nogmaals dank voor alle geduld en hulp.
Johan van poelgeest
 

Pagina: « vorige 1 2



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.