GD2 key contact formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans Q

Hans Q

29/08/2007 20:42:00
Quote Anchor link
hallo, ik heb hier een script die gebruik maakt van img.php (steeds een anderplaatje dus die automatisch wordt gegenereerd) maar als ik wil controleren of het veld met de code wel goed is ingevuld werkt dat niet en geeft hij het altijd aan als niet gelijk aan.
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php




$naar
= 'email@exampel.com'; // Verander hier email@exampel.com naar uw eigen email adress.
if(isset($_POST['verzend']))  // Als het bericht verzonden is
{
    if($_POST['naam'] == '') // Als het veld naam leeg is
    {
        echo "U heeft geen naam ingevuld!<br />";
        echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";  
    }

    elseif($_POST['email'] == '') // Als het veld email leeg is.
    {
        echo "U heeft geen e-mail adress ingevuld!<br />";
        echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
    }

    elseif($_POST['bericht'] == '') // Als er geen bericht is ingevuld.
    {
        echo "U heeft geen bericht ingevuld!<br />";
        echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
    }

    elseif($_POST['onderwerp'] == '') // Als er geen onderwerp is ingevuld
    {
        echo "U heeft geen onderwerp ingevuld!<br />";
        echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
    }

        elseif($_POST['imgcode'] == '$_SESSION') // Als er geen code is ingevuld
    {
        echo "U heeft geen geldige anti-spam code ingevuld!<br />";
        echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
    }

    else
    {
        if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"]))  // Als het email adress niet klopt
        {
            echo "U heeft geen geldig e-mail adress ingevuld!<br />";
            echo "<a href='javascript:history.back();' style='color: orange; text-decoration:none;'>Klik hier om terug te gaan!</a>";
        }

        else
        {
// Mailen:
            $bericht = "
<html>
<head>
  <title>Contact fomulier</title>
</head>
<body>
  <table border='2' width='50%'>
   <tr>
    <td width='20%'>Naam:</td>
    <td>"
.$_POST['naam']."</td>
   </tr>
   <tr>
    <td width='20%'>E-mail adress:</td>
    <td>"
.$_POST['email']."</td>
   </tr>
   <tr>
    <td width='20%'>Onderwerp:</td>
    <td>"
.$_POST['onderwerp']."</td>
   </tr>
   <tr>
    <td width='20%'>Bericht:</td>
    <td>"
.$_POST['bericht']."</td>
   </tr>
  </table>
    <br>
</body>
</html>
"
;


            $headers = "MIME-Version: 1.0\r\n";
            $headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
            $headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
// Headers, zodat we html kunnen gebruiken in de mail, en van wie de mail komt.
            if(mail($naar, $_POST['onderwerp'],$bericht,$headers)) // Als de mail naar de maker is verstuurd
            {
                echo 'Uw bericht is succesvol verstuurd';
            }

            else // Anders
            {
                echo 'Uw bericht is helaas niet verstuurd';
            }

            $ond = "Uw bericht, verzonden naar voorbeeld@hotmail.com";
            if(mail($naar, $ond,$bericht,$headers)) // Als de mail naar de verzender is verstuurd
            {
                echo '!';
            }

            else // Anders
            {
                echo '.';
            }
        }
    }
}

else
{


?>

<!-- Formulier weergeven -->
<table border='0' width='50%'>
<form method='post'>
<tr>
  <td width='30%'><b>Contact</b></td>
</tr>
<tr>
  <td width='20%'>Naam:</td>
  <td><input type='text' name='naam'></td>
</tr>
<tr>
  <td width='20%'>E-mail adress:</td>
  <td><input type='text' name='email'></td>
</tr>
<tr>
  <td width='20%'>Onderwerp:</td>
  <td><input type='text' name='onderwerp'></td>
</tr>
<tr>
  <td width='20%'>Bericht:</td>
  <td><textarea name='bericht'></textarea></td>
</tr>
<tr>
  <td></td>
  <td><img src="basic/img.php"></td>
</tr>
<tr>
  <td width='20%'>Code:</td>
  <td><input type='text' name='imgcode'></td>
</tr>
<tr>
  <td colspan='2' align='center'><input type='submit' value='Verzend' name='verzend'></td>
</tr>
</form>
</table>
<?php
}
?>
alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Hans Q
 
PHP hulp

PHP hulp

21/10/2021 15:41:02
 
Jan Koehoorn

Jan Koehoorn

29/08/2007 20:45:00
Quote Anchor link
Dit is onzin:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  elseif($_POST['imgcode'] == '$_SESSION') // Als er geen code is ingevuld
?>
 
Hans Q

Hans Q

29/08/2007 20:48:00
Quote Anchor link
hoe moet ik het dan anders maken dat hij controleerd of het goed is?
het liefst op een methode net als hij de naam en email veld controleerd..
Gewijzigd op 01/01/1970 01:00:00 door Hans Q
 
Hans Q

Hans Q

29/08/2007 21:17:00
Quote Anchor link
dit is trouwens het img.php bestand :


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
<?php

//hier start de session
session_start();

//hier zegen we tegen de browser dat het om een afbeelding
header("Content-type: image/jpeg");

//deze functie begin je de afbeelding
$img = @imagecreate(100,20);

// Met deze functie stel je een kleur waarden in 255 is geen van alle kleuren en 0 is alle kleuren bij elkaar
// door voor de grafische mensen onder ons is 255 de nul waarden


$bg = imagecolorallocate($img, 255, 255, 255);
$txt = imagecolorallocate($img, 0, 0, 0);

// hier beginnen we met een random getal te genereren
// ik denk dat srand en rand wel bekend zijn bij de meeste mensen
// maar voor mensen die het niet weten leg ik het toch effe uit
// met srand stel je een seed in voor de rand
// ik gebruik hier time maar je kan ook gewoon alles gebruiken


$seed = time();
$seed = srand($seed);

//met md5 kan je heel een heel mooie code met cijfers en letters genereren
$rand = md5(rand());

//zoals je nu ziet gebruik ik nu date dat is om een andere seed te genereren
$seed2 = date("zs");
$seed2 = srand($seed2);
$start = rand(0,22);

// zoals je mischien al ziet gebruik ik deze random van een willekeurige plek uit de
// 32 karakters lange code een code te plukken van maar 10 karakters lang

$code = substr($rand,$start,10);

// ik sla het op in een sessie zodat je het in een andere script kan vergelijken
// met de echte code en de input van de gebruiker bijv in een if statement

$_SESSION['code'] = $code;

//en hiermee plak je de code op het plaatje
imagestring($img, 10, 5, 2,  $_SESSION['code'], $txt);

// hier begint het anti bot truukje
// de nieuwere bots die worden gebruikt bij brute force aanvallen
// die kunnen tekens herken die ze scannen van het plaatje af
// daarom gaan wij het plaatje omdraaien zodat ze niet meer horizontaal te lezen zijn

//random hoef ik niet te vertellen

$angle_choice = date("sz");
$angle_choice = srand($angle_choice);
$angle_choice = rand(1,2);

//dit is eigenlijk een verkorte versie van een if statement ik conroleer de output van
// de random hierboven hier gebeurt ook de selectie of hij cw of ccw draait

$angle_choice = ($angle_choice == 1)?"angle_neg" : "angle_pos";

//als het deze word draait hij cw
$angle_neg = rand(-7,-2);
//alls het deze word draait hij ccw
$angle_pos = rand(7,2);

//deze functie draait de bron afbeelding om in de hoek die opgegeven is en plakt die
// in een nieuwe afbeelding

$rotate = imagerotate($img,$$angle_choice,$bg);

//nu maken we van onze code een output
imagejpeg($rotate);

//en nu vernietigen we het plaatje
imagedestroy($rotate);
imagedestroy($img);

?>
 
Hans Q

Hans Q

30/08/2007 16:37:00
Quote Anchor link
als ik onderaan een echo plaats met de variable $code vind hij de variable niet dus echo't hij gewoon op de pagina "$code" dus darom kan hij niet worden verzonden... hoe kan ik dit oplossen?
 
Jurgen assaasas

Jurgen assaasas

30/08/2007 16:43:00
Quote Anchor link
karoen schreef op 29.08.2007 20:48:
hoe moet ik het dan anders maken dat hij controleerd of het goed is?
het liefst op een methode net als hij de naam en email veld controleerd..


Je vergelijkt nu of het veld gelijk is aan de string "$_SESSION" dus niet aan een session.
 
Hans Q

Hans Q

30/08/2007 16:46:00
Quote Anchor link
ik heb het nu inplaats van $_SESSION er $code van gamaakt... maar het werkt niet...
 



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.