验证表格与PHP - safari网站

时间:2015-07-08 20:29:07

标签: javascript php html forms

需要快速帮助,如果有人可以......

我有一个非常简单的html单页面 我试图用PHP验证它(检查空白并验证电子邮件) 由于某种原因出了问题,它没有给我任何东西 在行动表格上

谁有任何想法?真的会帮助我很多。 图标呈现明显(文本是希伯来文) (如果有人知道如何验证电话,也祝福你)

html:

<!DOCTYPE html>
<html lang="he" dir="rtl">
<head>
    <title>Safari Company</title>
    <meta charset="utf-8"/>
    <link rel="stylesheet" type="text/css" href="styles.css">
    <script src="js/script.js"></script>
</head>

<body>

    <div id="top-wrapper">
        <div id="top-background">
            <p class="image-text">.אפריקה. נקודת מבט חדשה</p>
            <p class="credit-english">Ziv Koren</p>
        </div>
    </div>

    <div id="costumer-wrapper">
        <div id="info-for-client">
            <p class="secondary-text">הדרך לאפריקה מתחילה בטיסה ישירה לטנזניה</p>
            <p class="offer-text">פסח 2015 <span>|</span> 9 ימים מלאים</p>
            <p class="ratz-border-above">ספארי קומפני בטיסת (סאנדור) אל-על ישירה לטנזניה וחזרה ישירות מזנזיבר. מבחר תוכניות ספארי מותאמות באופן אישי.</p>
            <p class="strong">תמיד אמרתם שפעם תעשו את זה. עכשיו זה הזמן</p>
            <p class="secondary-text">למידע נוסף, התאמת ספארי אישי </br> והזמנות 03-5617021</p>
        </div>


            <form  method="post" action="confirmation.php" name="myForm" onsubmit="return validate();">
                <input type="text" class="name" name="Name" placeholder="שם">
                <input type="text" class="email" name="Email" placeholder="דוא״ל" >
                <input type="text" class="phone" name="Phone" placeholder="טלפון" >
                <textarea placeholder="הערות"></textarea>
                <input type="checkbox" > ארצה לקבל עדכונים וחדשות
                <button type="submit"> שלח</button>
            </form>

        <p class="hebrew-credit">זהות ושפה - מוסנזון פורת</p>

    </div>

    <div id="bottom-background">
        <div id="bottom-image"> </div>
        <p class="credit-english"></p>
    </div>

    <div id="footer-wrapper">
        <footer>
            <p>ספארי, בשפה הסווהילית, פירושו מסע, בשפה שלנו, מסע פירושו יציאה לדרך של גילויים חדשים, מראות, ריחות, טעמים.</br>
                תחושה שאין דומה לה. לגלות את אפריקה, בכל פעם מחדש, כבר 20 שנה. נשמח להיות הדרך שלכם לאפריקה.</p>
            <p class="adress-border-above"> סעדיה גאון 24, תל אביב טל. 03-5617021 פקס. 15335468614 <span> | www.safaricompany.co.il | info@safaricompany.co.il</span></p>
            <a href="#"><img src="images/logo.png"></a>
        </footer>
    </div>

</body>
<script>
     function validate(){

     if( document.myForm.Name.value == "" )
     {
        alert( "Please provide your name" );
        document.myForm.Name.focus() ;
        return false;
     }

     if( document.myForm.Email.value == "" )
     {
        alert( "Please provide your Email" );
        document.myForm.Email.focus() ;
        return false;
     }

     if( document.myForm.Phone.value == "" )
     {
        alert( "Please provide your Phone" );
        document.myForm.Phone.focus() ;
        return false;
     }

     return true;
  }
  </script>

</html>

php :( confirmation.php)

<?php 
if($_SERVER["REQUEST_METHOD"] == "POST"){

    $name = trim($_POST["Name"]);
    $email = trim($_POST["Email"]);
    $phone = trim($_POST["Phone"]);

    if( $name == "" || $email=="" || $phone==""){
        echo "Please fill name, email and phone";
        exit;
    }


    require_once("Inc/phpmailer/class.phpmailer.php");
    $mail = new PHPMailer();
    if(!$mail -> ValidateAddress($email)){
        echo "You must specify a valid email.";
        exit;
    }

?>


<html>
<body>

Welcome <?php echo $_POST["Name"]; ?><br>
Your email address is: <?php echo $_POST["Email"]; ?>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

使用自定义库来验证电子邮件地址可能有点过分。您可以将https://secure.php.net/filter_varFILTER_VALIDATE_EMAIL过滤器一起使用。据我所知,没有真正的方法来验证电话号码。

话虽如此,您的PHP错误是您没有关闭在第2行开始的if语句。这会导致意外结束,因为编译器仍然需要if语句的结束奖励。

编辑:有一个非常好SO answer for validating phone numbers

答案 1 :(得分:0)

您的脚本方法有一些进展。

以下是我提出的可在脚本页面上运行的内容。

<?php 

if($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = trim($_POST["Name"]);
    $email = trim($_POST["Email"]);
    $phone = trim($_POST["Phone"]);

    if( $name == "" || $email=="" || $phone==""){
        $error = "Please fill name, email and phone";
    }
}
else {
     $error = "ERROR if someone came here directly";
}

?>


<html>
<body>

<?php if(isset($error)): ?>

<p><?php echo $error; ?></p>
<?php else: ?>
Welcome <?php echo $_POST["Name"]; ?><br>
Your email address is: <?php echo $_POST["Email"]; ?>
<?php endif; ?>

</body>
</html>

编辑:要解决电子邮件验证问题,您可以使用它来检查是真还是假: 此方法检查电子邮件是否无效。

if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    $emailError = "Invalid email";
}