私は本当にここで苦労しています!私はjqueryプラグインを使用し、PHPをバックアップとして使用する連絡フォームを用意しています。このフォームはカスタマイズされたものではありませんが、今は数日間問題があります。私がMAMPを使用して提出をクリックすると、検証は完全に機能します! phpとjqueryの両方でその後私はGoogleに転送されます(最終的には他のいくつかのウェブサイト)。 私は会社のサイトにTESTフォルダの下にアップロードします。それをテストするために、私は検証とすべてが完璧に動作するようにします。 jqueryでエラーを修正した後に提出すると、それは想定されているようにGoogleにプッシュされます。私はPHPをテストするためにjqueryを取り除くと、検証は、私が同じindex.phpページのすぐそこにとどまる投稿をヒットしたときに機能します!私は非常に多くの異なる連絡先の検証フォームを試して私の髪を引っ張ってきており、これは一番うまくいくようです。私はPHPで問題を起こすのに十分なWebエクスペリエンスを持ったグラフィックデザイナーです:)誰か助けてもらえますか?ここで 私のPHP検証フォームを別のページにリダイレクトする方法
は、ここで私はそれが働いて得るためにPHPをテストするために、今のjqueryのを取り出した<?php
session_start();
// define variables and set to empty values
$nameErr = $emailErr = $phoneErr = $describeErr = $humanErr = "";
$Name = $Email = $Phone = $Describe = $Human = "";
$hasError = false;
$sent = false;
if(isset($_POST['submit'])) {
$Name = trim(htmlspecialchars($_POST['Name'], ENT_QUOTES));
$Email = trim($_POST['Email']);
$Describe = trim(htmlspecialchars($_POST['Describe'], ENT_QUOTES));
$Phone = trim($_POST['Phone']);
$Email = trim($_POST['Email']);
$webdesign = trim($_POST['webdesign']);
$webhosting = trim($_POST['webhosting']);
$wordpressdesign = trim($_POST['wordpressdesign']);
$Human = trim($_POST['Human']);
$Number = 8;
$fieldsArray = array(
'Name' => $Name,
'Email' => $Email,
'Describe' => $Describe,
'Phone' => $Phone,
'Human' => $Human
);
$errorArray = array();
foreach($fieldsArray as $key => $val) {
switch ($key) {
case 'Name':
if(empty($val)) {
$hasError = true;
$nameErr = "Please enter your name.";
}
case 'Name':
if (!preg_match("/^[a-zA-Z ]*$/", ($val))) {
$hasError = true;
$nameErr = "The value must be alphanumeric.";
}
break;
case 'Phone':
if (!preg_match("/^[0-9]+$/", ($val))) {
$hasError = true;
$phoneErr = "Only numbers and white space allowed.";
}
case 'Phone':
if(empty($val)) {
$hasError = true;
$phoneErr = "Phone is required.";
}
break;
case 'Email':
if(!filter_var($Email, FILTER_VALIDATE_EMAIL)) {
$hasError = true;
$emailErr = "Email is required.";
} else {
$Email = filter_var($Email, FILTER_SANITIZE_EMAIL);
}
break;
case 'Describe' :
if (strlen($val) < 25) {
$hasError = true;
$describeErr = "Please enter at least 25 characters. This way I know more specifically what you need!";
}
case 'Describe' :
if(empty($val)) {
$hasError = true;
$describeErr = "Message is required. This way I know what you need!";
}
break;
case 'Human':
if (!preg_match("/[^\d]?8[^\d]?/", ($val))) {
$hasError = true;
$humanErr = "Not the right answer";
}
case 'Human':
if (!preg_match("/^[0-9]+$/", ($val))) {
$hasError = true;
$humanErr = "Must be a number";
}
case 'Human':
if(empty($val)) {
$hasError = true;
$humanErr = "Are you human?";
}
break;
}
}
//CHECK BOX WRITE UP
if (isset($_POST['webdesign'])) {
$checkBoxValue = "yes";
//is checked
} else {
$checkBoxValue = "no";
//is unchecked
}
if (isset($_POST['webhosting'])) {
$checkBoxValue = "yes";
//is checked
} else {
$checkBoxValue = "no";
//is unchecked
}
if (isset($_POST['wordpressdesign'])) {
$checkBoxValue = "yes";
//is checked
} else {
$checkBoxValue = "no";
//is unchecked
}
//Validation Success!
//Do form processing like email, database etc here
if($hasError !== true) {
$priority = $_POST['priority'];
$type = $_POST['type'];
$message = $_POST['message'];
$formcontent=" From: $Name \n Company: $Company \n Email: $Email \n Phone: $Phone \n Describe: $Describe \n Web Design: $webdesign \n Web Hosting: $webhosting \n Wordpress Design: $wordpressdesign ";
$recipient = "[email protected]";
$subject = "Contact form test with Jquery and PHP";
$mailheader = "From: $Email \r\n";
mail($recipient, $subject, $formcontent, $mailheader);
header("Location:http://www.google.com");
exit();
}
}
?><!--END PHP-->
私testval.phpがある私のindex.php
<?php include('header_contact.php') ?>
<?php include('testval.php');?>
<div id="section1">
CONTACT FORM
<div id="contact-form">
<!--<form id="contactform" name="contactform" action="<!--?php echo $_SERVER['PHP_SELF']; ?>" method="post" >-->
<form id="contactform" name="contactform" action="index.php" method="post" >
<!--?php
if($sent === true) {
echo "<h2 class='success'>Thanks, your message has been sent successfully</h2>";
} elseif($hasError === true) {
echo '<ul class="errorlist">';
foreach($errorArray as $key => $val) {
echo "<li>" . ucfirst($key) . " field error - $val</li>";
}
echo '</ul>';
}
?>
-->
<input name="Name" type="text" id="Name" placeholder="NAME" value="<?php echo (isset($Name) ? $Name : ""); ?>"><span class='text_error'><?php echo $nameErr;?></span>
<input name="Company" type="text" id="Company" placeholder="COMPANY" value=''>
<input name="Phone" type="tel" id="Phone" placeholder="PHONE" value='<?php echo htmlentities($Phone);?>'>
<span class='text_error'><?php echo $phoneErr;?></span>
<input name="Email" type="Email" placeholder="EMAIL" value="<?php echo (isset($Email) ? $Email : ""); ?>">
<span class='text_error'><?php echo $emailErr;?></span>
<input name="webdesign" type="checkbox" value="Yes" /><label>Web Design: </label><br />
<input name="webhosting" type="checkbox" value="Yes" /><label>Web Hosting: </label><br />
<input name="wordpressdesign" type="checkbox" value="Wordpress Design" /><labeel>Wordpress Design: </labeel><br />
<textarea id="Describe" class="mess" name="Describe" type="text" placeholder="DESCRIBE WHAT YOU NEED"><?php echo isset($_POST['Describe'])? $_POST['Describe'] : ''; ?></textarea>
<span class='text_error'><?php echo $describeErr;?></span>
<!--?php if(in_array('Describe', $validation)): ?><span class="error"><!--?php echo $error_messages['Describe']; ?></span><!--?php endif; ?>
<span class='text_error'>
-->
<input class="input-upload" type="file" name="Upload File">
<input name="Human" placeholder="5 + 3 = ?" value="<?php echo isset($_POST['Human'])?
$_POST['Human'] : ''; ?>">
<span class='text_error'><?php echo $humanErr;?></span>
<!--
<!--?php if(in_array('Human', $validation)): ?><span class="error"><--?php echo $error_messages['Human']; ?></span><--?php endif; ?>
-->
<input id="submit" name="submit" type="submit" value="submit">
</form>
</div><!--END CONTACT FORM-->
</div><!--END SECTION1-->
<?php include('footer.php') ?>
ですが、それはあるとき、 index.phpページでは、それはすぐ下にあります
ここにそのコードです。
<script type="text/javascript">
jQuery(document).ready(function($) {
$("#contactform").validate({
rules: {
Name: {
required: true,
minlength: 4
},
Email: {
required: true,
email: true
},
Describe: {
required: true,
minlength: 25
},
Phone: {
required: true,
number: true,
minlength: 7,
maxlength: 15
},
Human: {
required: true,
number: true,
maxlength: 1,
range: [8,8]
}
},
messages: {
Name: {
required: "Please enter your name",
minlength: "Your name seems a bit short doesn't it?"
},
Email: {
required: "We need your email address to contact you",
email: "Please enter a valid email address"
},
Describe: {
required: "Please enter your message",
minlength: "Please enter at least 25 characters. This way I know more specifically what you need!"
},
Phone: {
required: "Please enter your phone number",
number: "Phone has to be numbers",
minlength: "Your phone number should be longer",
maxlength: "Number must be less!"
},
Human: {
required: "Are you human?",
number: "has to be a number",
maxlength: "That's to long!",
range: "Please enter the correct number"
}
},
errorElement: "div", //TAKE CONTROL OF ERROR MESSAGE IN CSS
//IF I CHOOSE TO ADD CSS AND WRAP ERROR WITH BOX
wrapper: "div", //WRAPPER AROUND THE ERROR MESSAGE
errorPlacement: function(error, element) {
error.insertAfter(element);
error.addClass('message'); //ADD A CLASS TO THE WRAPPER
/*
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top);
*/
}
});
});
</script>
ご協力いただきありがとうございます。
テスト基本。あなたはメールを受け取りますか?リダイレクトを 'if(isset($ _ POST ['submit']))'と一緒に最初の位置に置き、リダイレクトが動作しているかどうか確認してください。 – Daniel
はい、それをリダイレクトします。最後にそれを戻すと、コンテンツがページをまったくリダイレクトしないというメールが私に送られます。 –
ブラウザに送信されるエラーによってリダイレクトが中断されたようです。あなたのPHPスクリプトの冒頭にエラー報告を設定してください。 'error_reporting(-1);'そしてphpが何かをブラウザに吐き出しているかどうか確認してください。 – Daniel