Deprecated: Function eregi() is deprecated
Ik ben nieuw met php en had een mooie website gemaakt met een nog mooier contactformulier... ineens heb ik deze warnning/error gekregen:
Deprecated: Function eregi() is deprecated aaaaah! help!!
wat ik las op de forum ergi wordt niet meer ondersteund ... en nu? heb preg_match geprobeerd te gebruiken zelfs stripos () maar omdat ik nieuw hier ben, weet ik niet precies hoe ik de code moet aanpassen :(
dit is mijn code:
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
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
// DEFINE FUNCTIONS
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (eregi("to:", $field) || eregi("cc:", $field) || eregi("bcc:", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
if (isset($_REQUEST['send'])){
if (($_REQUEST['naam']=="") OR ($_REQUEST['naam']=="")) {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>El campo 'nombre' es obligatorio.</FONT></b></b><p>";
}
elseif (isset($_REQUEST['email']))
{
//check if the email address is invalid
$checkcode = $_REQUEST['email'].$_REQUEST['bericht'].$_REQUEST['adres'].$_REQUEST['pcplaats'].$_REQUEST['bedrijf'].$_REQUEST['naam'];
$mailcheck = spamcheck($checkcode);
if ($mailcheck==TRUE)
{
echo "Nice try.";
$klaar =1;
}
else {
// check if address is an address
$email = $_REQUEST['email'];
if (check_email($email)) {
//send email
$subject = "Mensaje desde rcr66.com";
$message = "De: ".$_REQUEST['naam']."( $email )";
$message .= "\n Calle: ".$_REQUEST['adres'];
$message .= "\n Ciudad: ".$_REQUEST['pcplaats'];
$message .= "\n Mensaje:";
$message .= $_REQUEST['bericht'];
mail("$emailto", "$subject", $message, "From: $email" );
echo "<p><br><b><FONT face=Verdana color=#ff7500 size=2>Gracias por tu mensaje, prometemos contestarte lo antes posible</FONT></b></br></p>";
$klaar =1;
}
else {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>Fout email</FONT></br></b></p>";
}
}
}
}
//if "email" is not filled out, or Email not valid display the form
if (!isset($klaar)){
?>
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (eregi("to:", $field) || eregi("cc:", $field) || eregi("bcc:", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
if (isset($_REQUEST['send'])){
if (($_REQUEST['naam']=="") OR ($_REQUEST['naam']=="")) {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>El campo 'nombre' es obligatorio.</FONT></b></b><p>";
}
elseif (isset($_REQUEST['email']))
{
//check if the email address is invalid
$checkcode = $_REQUEST['email'].$_REQUEST['bericht'].$_REQUEST['adres'].$_REQUEST['pcplaats'].$_REQUEST['bedrijf'].$_REQUEST['naam'];
$mailcheck = spamcheck($checkcode);
if ($mailcheck==TRUE)
{
echo "Nice try.";
$klaar =1;
}
else {
// check if address is an address
$email = $_REQUEST['email'];
if (check_email($email)) {
//send email
$subject = "Mensaje desde rcr66.com";
$message = "De: ".$_REQUEST['naam']."( $email )";
$message .= "\n Calle: ".$_REQUEST['adres'];
$message .= "\n Ciudad: ".$_REQUEST['pcplaats'];
$message .= "\n Mensaje:";
$message .= $_REQUEST['bericht'];
mail("$emailto", "$subject", $message, "From: $email" );
echo "<p><br><b><FONT face=Verdana color=#ff7500 size=2>Gracias por tu mensaje, prometemos contestarte lo antes posible</FONT></b></br></p>";
$klaar =1;
}
else {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>Fout email</FONT></br></b></p>";
}
}
}
}
//if "email" is not filled out, or Email not valid display the form
if (!isset($klaar)){
?>
kan iemand mij helpen?
PS: de code heeft heel lang geleden een kennis voor mij opgesteld dus... niet echt veel idee wat daarin staat :(
Code (php)
1
if (preg_match("\to:\i", $field) || preg_match("\cc:\i", $field) || preg_match("\bcc:\i", $field)) {
Gewijzigd op 25/05/2011 11:59:47 door - Ariën -
das het resultaal van laatste else:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// check if address is an address
$email = $_REQUEST['email'];
if (check_email($email)) {
//send email
$subject = "Mensaje desde rcr66.com";
$message = "De: ".$_REQUEST['naam']."( $email )";
$message .= "\n Calle: ".$_REQUEST['adres'];
$message .= "\n Ciudad: ".$_REQUEST['pcplaats'];
$message .= "\n Mensaje:";
$message .= $_REQUEST['bericht'];
mail("$emailto", "$subject", $message, "From: $email" );
echo "<p><br><b><FONT face=Verdana color=#ff7500 size=2>Gracias por tu mensaje, prometemos contestarte lo antes posible</FONT></b></br></p>";
$klaar =1;
}
else {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>Fout email</FONT></br></b></p>";
}
}
}
}
//if "email" is not filled out, or Email not valid display the form
if (!isset($klaar)){
?>
$email = $_REQUEST['email'];
if (check_email($email)) {
//send email
$subject = "Mensaje desde rcr66.com";
$message = "De: ".$_REQUEST['naam']."( $email )";
$message .= "\n Calle: ".$_REQUEST['adres'];
$message .= "\n Ciudad: ".$_REQUEST['pcplaats'];
$message .= "\n Mensaje:";
$message .= $_REQUEST['bericht'];
mail("$emailto", "$subject", $message, "From: $email" );
echo "<p><br><b><FONT face=Verdana color=#ff7500 size=2>Gracias por tu mensaje, prometemos contestarte lo antes posible</FONT></b></br></p>";
$klaar =1;
}
else {
echo "<p><b><br><FONT face=Verdana color=#ff7500 size=2>Fout email</FONT></br></b></p>";
}
}
}
}
//if "email" is not filled out, or Email not valid display the form
if (!isset($klaar)){
?>
Volgens mij zit de fout in je check_mail functie.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
?>
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
?>
Ten eerste is je kijk je in de if of de waarde in de variabele $mail_address niet aan de eisen voldoet van de preg_match (regex). Het is dan dus logisch dat als je een juist e-mailadres invult deze fout is omdat je de waarde false terug krijgt.
En ten tweede plak je 2 regexen achter elkaar. Deze kun je gewoon in een variabele zetten.
Kijk is op deze website voor een juiste regex: http://www.regular-expressions.info/
Ik hoop dat je hier iets aan hebt.
Veel succes,
Rick
Gewijzigd op 25/05/2011 15:48:36 door Rick van Riel
Ik het het volgende gedaan (misschien heeft iemand hier iets aan in de toekomst)
Oude Code:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// DEFINE FUNCTIONS
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (eregi("to:", $field) || eregi("cc:", $field) || eregi("bcc:", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (eregi("to:", $field) || eregi("cc:", $field) || eregi("bcc:", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (!preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
Vervangen met..
Nieuwe code:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// DEFINE FUNCTIONS
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (preg_match("/to:/i", $field) || preg_match("/cc:/i", $field) || preg_match("/bcc:/i", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
function spamcheck($field)
{
//eregi() performs a case insensitive regular expression match
if (preg_match("/to:/i", $field) || preg_match("/cc:/i", $field) || preg_match("/bcc:/i", $field)) {
return true;
}
else {
return false;
}
}
function check_email($mail_address)
{
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if (preg_match($pattern, $mail_address)) {
return true;
} else {
return false;
}
}
//END FUNCTIONS
Delimeters heb ik van \ naar / veranderd. pakte de andere ( \ ) niet.
Vervolgens mijn check mail stuurde de email alleen als de email fout was en als de email correct was krijg ik een fout melding.
Dit was veroorzaakt door de " ! " in if (!preg_match($pattern, $mail_address)) {
Dus die heb ik weggehaald en nu werkt het wel.
Erg bedankt!!
C
of je gebruikt gewoon swiftmailer/phpmailer
preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/', $mail_address)
Vincent Huisman op 25/05/2011 17:35:24:
of je gebruikt gewoon swiftmailer/phpmailer
en wat is dan?