PDA

View Full Version : سوال: مشکل در فرم تماس و فیلدهای اجباری



SONITAJ
پنج شنبه 09 خرداد 1392, 11:07 صبح
من برای وب سایتم فرم تماس را با فیلدهای اجباری و ولیدیشن ان رابا php تعریف کردم ولی اررور میده و به صورت عکس زیر هست .با اینکه فیلدها رو نشون میده و خروجی میده خطاها را هم مثل عکس زیر نشون میده عکس صفحه تماس با ما:
104843
این عکس مربوط به زمانی هست که این خط را در کدم استفاده می کنم:

ini_set('display_errors', 1);
error_reporting(E_NONE);
ولی اگر این دو خط را حذف کنم عکسش اینجوری میشه:
104844
معنی این ارروها چی هست؟چه کاری کنم درست بشه؟ اینم کد کامل اون:

<html >
<head>
<meta charset="utf8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<?php
session_start();
ob_start();
//ini_set('display_errors', 1);
//error_reporting(E_NONE);
$php_self = $_SERVER['PHP_SELF'];
//$error_name = " you don't enter name.please enter you name.";
// on submit
if( isset($_POST[name]) && isset($_POST[email]) && isset($_POST[message]) && isset($_POST[captcha]) ){
$name = $_POST[name];
$email = $_POST[email];
$message = $_POST[message];
$captcha = $_POST[captcha];

$error = 0;
// name
if( $name == "" ){ $error ++; $error_name = "class='error'"; }
// email
if( $email == "" ){ $error ++; $error_email = "class='error'"; }
// message
if( $message == "" ){ $error ++; $error_message = "class='error'"; }
// captcha
if( $captcha == "" || $captcha != $_SESSION[captcha]){ $error ++; $error_captcha = "class='error'"; }

// no error, send email
if( $error == 0){

// your email address
$address = "your-email-address@domain.com";

// email subject
$subject = "New message";
// email content
$content = "<strong>Name:</strong><br/>$name<br/><strong>Email address:</strong><br/><strong>Message:</strong><br/>$email<br/>$message";
// html email
$email_content = "<!doctype html><head><meta charset='utf-8'><title>".$subject."</title>";
$email_content .= "</head><body>";
$email_content .= $content;
$email_content .= "</body></html>";

// headers for html email
$headers = 'MIME-Version: 1.0' . "/r/n";
$headers .= 'Content-type: text/html; charset=utf-8' . "/r/n";
$headers .= "From: 1stWebMagazine.com <web@1stwebmagazine.com>" . "/r/n";
// send email
mail($address, $subject, $email_content, $headers);

// reset variables
$name = ""; $email = ""; $message = "";
$mail_sent = 1;
}
}

// captcha
$num = rand(1, 20);
$num2 = rand(1, 9);
$verif = $num . "+" . $num2;
$_SESSION[captcha] = $num + $num2;

if( $mail_sent == 1 ){
echo "<h1>Thank you for your message! We'll be in touch soon.</h1>";
} else {
echo "
<form action='".$php_self."' method='post'>
<p><strong>Name:</strong> <span class='required'>*</span></p>
<input type='text' ".$error_name." name='name' value='".$name."'>
<p><strong>Email address:</strong> <span class='required'>*</span></p>
<input type='email' ".$error_email." name='email' value='".$email."'>
<p><strong>Message:</strong> <span class='required'>*</span></p>
<textarea ".$error_message." name='message'>".$message."</textarea>
<p><strong>How much is ".$verif."?</strong> <span class='required'>*</span></p>
<input type='text' ".$error_captcha." name='captcha' value=''><br/>
<button>Send</button>
</form>";
}
ob_end_flush();
?>
</body>
</html>

لطفا راهنمایی کنید؟چه تغییری اعمال کنم؟ کدام روش بهتر هست؟

qartalonline
پنج شنبه 09 خرداد 1392, 11:14 صبح
تصویر خطاها واضح نیستند . سایز بزرگ بزارید


در ضمن session_start و ob_start رو باید قبل از کدهای html قرار بدید. و ob_end_flush در انتها.

SONITAJ
پنج شنبه 09 خرداد 1392, 11:46 صبح
بدون


ini_set('display_errors', 1);
error_reporting(E_NONE);

این خطاها را میده:
1-SCREAM: Error suppression ignored for
( ! ) Notice: Use of undefined constant name - assumed 'name' in C:\wamp\www\tamrin\contact.php on line 16
2-SCREAM: Error suppression ignored for
( ! ) Notice: Use of undefined constant captcha - assumed 'captcha' in C:\wamp\www\tamrin\contact.php on line 65
3-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: mail_sent in C:\wamp\www\tamrin\contact.php on line 67
4-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: error_name in C:\wamp\www\tamrin\contact.php on line 73
5-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: name in C:\wamp\www\tamrin\contact.php on line 73
6-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: error_email in C:\wamp\www\tamrin\contact.php on line 75
7- SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: error_email in C:\wamp\www\tamrin\contac.php on line 75
8-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: email in C:\wamp\www\tamrin\contac.php on line 75
9-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: error_message in C:\wamp\www\tamrin\contact.php on line 77
10-SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: message in C:\wamp\www\tamrin\contact.php on line 77
11- SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: error_captcha in C:\wamp\www\tamrin\contact.php on line 79
با

ini_set('display_errors', 1);
error_reporting(E_NONE);

این خطا را میدهد:
SCREAM: Error suppression ignored for
( ! ) Notice: Use of undefined constant E_NONE - assumed 'E_NONE' in C:\wamp\www\tamrin\contact.php on line 12
الان چه کاری انجام بدهم درست بشه؟ لطفا راهنمایی کنید.

qartalonline
پنج شنبه 09 خرداد 1392, 11:53 صبح
فعلا به جای
error_reporting(E_NONE);
این رو جایگزین کنید:

error_reporting(E_ALL);

qartalonline
پنج شنبه 09 خرداد 1392, 11:57 صبح
مقادیر پست شده رو داخل کوتیشن بذارید

مثل:

$_POST['name']

qartalonline
پنج شنبه 09 خرداد 1392, 12:08 عصر
کد زیر رو امتحان کنید:

<?php
session_start();
ob_start();

error_reporting(-1);
?>
<html >
<head>
<meta charset="utf8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<?php
$php_self = $_SERVER['PHP_SELF'];
//$error_name = " you don't enter name.please enter you name.";
// on submit
$mail_sent=0;
$error_name = $error_email = $error_message = $error_captcha = '';
if( isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message']) && isset($_POST['captcha']) ){
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$captcha = $_POST['captcha'];

$error = 0;
// name
if( $name == "" ){ $error ++; $error_name = "class='error'"; }
// email
if( $email == "" ){ $error ++; $error_email = "class='error'"; }
// message
if( $message == "" ){ $error ++; $error_message = "class='error'"; }
// captcha
if( $captcha == "" || $captcha != $_SESSION['captcha']){ $error ++; $error_captcha = "class='error'"; }

// no error, send email
if( $error == 0){

// your email address
$address = "your-email-address@domain.com";

// email subject
$subject = "New message";
// email content
$content = "<strong>Name:</strong>$name<strong>Email address:</strong><strong>Message:</strong>$email$message";
// html email
$email_content = "<!doctype html><head><meta charset='utf-8'><title>".$subject."</title>";
$email_content .= "</head><body>";
$email_content .= $content;
$email_content .= "</body></html>";

// headers for html email
$headers = 'MIME-Version: 1.0' . "/r/n";
$headers .= 'Content-type: text/html; charset=utf-8' . "/r/n";
$headers .= "From: 1stWebMagazine.com <web@1stwebmagazine.com>" . "/r/n";
// send email
mail($address, $subject, $email_content, $headers);

// reset variables
$name = ""; $email = ""; $message = "";
$mail_sent = 1;
}
}
else
{
$name = $email = $message = $captcha = '';

}

// captcha
$num = rand(1, 20);
$num2 = rand(1, 9);
$verif = $num . "+" . $num2;
$_SESSION['captcha'] = $num + $num2;

if( $mail_sent == 1 ){
echo "<h1>Thank you for your message! We'll be in touch soon.</h1>";
} else {
echo "
<form action='".$php_self."' method='post'>
<p><strong>Name:</strong> <span class='required'>*</span></p>
<input type='text' ".$error_name." name='name' value='".$name."'>
<p><strong>Email address:</strong> <span class='required'>*</span></p>
<input type='email' ".$error_email." name='email' value='".$email."'>
<p><strong>Message:</strong> <span class='required'>*</span></p>
<textarea ".$error_message." name='message'>".$message."</textarea>
<p><strong>How much is ".$verif."?</strong> <span class='required'>*</span></p>
<input type='text' ".$error_captcha." name='captcha' value=''>
<button>Send</button>
</form>";
}
?>
</body>
</html>
<?php
ob_end_flush();
?>

SONITAJ
پنج شنبه 09 خرداد 1392, 15:43 عصر
آقای qartalonline از راهنمایی ها ی شما ممنونم .کدی را که فرمودید امتحان کنم ،امتحان کردم و درست شد دیگه هیچ کدام از اررورها را نشون نداد. ممنونم .
این عکس صفحه بدون خطا:
104854
بازم ممنونم خیلی لطف کردید.:لبخندساده: