duanjue6584 2013-05-13 08:55 采纳率: 100%
浏览 200

PHP中的表单控件

I do a form in html for a little website, i want users to subscribe themselves but my PHP control seems to not work and i don't know why! My javascript control works but PHP doesn't... Source:

<!-- HTML -->
<form action="InscriptionSucces.html" method="POST" name="Inscription" onSubmit="return verif(this);">
<h2>Identifiants</h2>
<ul>
    <li>Pseudo* : <input type="text" name="pseudo" id="pseudo" size="30" /></li>
    <li>Mot de passe* : <input type="password" name="pass" id="pass" size="30" /></li>
    <li>Veuillez retaper votre mot de passe* : <input type="password" name="pass2" id="pass2" size="30" /></li>
    <li>Adresse mail (valide)* : <input type="text" name="mail" id="mail" size="30" value="" />@
        <select name="groupe1" id="groupe1">
            <option value="0">Selectionnez votre adresse...</option>
            <optgroup label="">
                <option value="1">hotmail.fr
                <option value="2">hotmail.com
                <option value="3">gmail.com
                <option value="4">laposte.net
            </optgroup>
         </select>
    </li>
    <li>Veuillez retaper votre adresse mail* : <input type="text" name="mail_verif" id="mail_verif" size="30" value="" />@
        <select name="groupe2" id="groupe2">
                <option value="0">Selectionnez votre adresse...</option>
                <optgroup label="">
                    <option value="1">hotmail.fr
                    <option value="2">hotmail.com
                    <option value="3">gmail.com
                    <option value="4">laposte.net
                </optgroup>
        </select>
    </li>
    <li>Date de naissance : <input type="text" name="date_naissance" id="date_naissance" size="30" value="" /> <em>(JJ/MM/AAAA)</em></li> 
    <h5>Les champs signales par * sont obligatoires.</h5>
    <li>
        <td id="envoyer">
            <input type="submit" name="Submit" value="M'inscrire">
        </td>
        <td id="effacer">
            <input type="reset" name="Effacer" >
        </td>
        </td>
    </li>
</form>


Here is my javascript which works:
<script type="text/javascript">    
function verif(f)
{
    var regnm = /^[a-zàâäéèêëîïôöùûüç0123456789]+((( |-)[a-zàâäéèêëîïôöùûüç]+$)|$)/i;
    var regmail = /^[a-z]/i;
    if(!regnm.test(f.pseudo.value)) {
        alert("Erreur dans la saisie de votre pseudo");
        return false;
    }
    if(!regnm.test(f.pass.value)) {
        alert("Erreur dans la saisie de votre mot de passe");
        return false;
    }
    if(f.pass.value != f.pass2.value){
        alert("Les mots de passe sont differents");
        return false;
    }
    if(!regmail.test(f.mail.value)){
        alert("adresse mail incorrecte");
        return false;
    }
    if(f.mail.value != f.mail_verif.value){
        alert("adresses mail differentes");
        return false;
    }
    if (document.getElementById('groupe1').options[0].selected){
            alert("Vous avez oublie de mentionner votre adresse mail");
        return false;
    }
    if (document.getElementById('groupe1').value != document.getElementById('groupe2').value){
            alert("adresses mail differentes");
        return false;
    }
    return confirm("Vous confirmez l'envoi des donnees?");
} 
</script>


PHP Code:
<?php
if(!empty($_POST)) {
    $errors = array();
    $pseudo=$_POST['pseudo'];
    echo $pseudo; // Pseudo
    if(!isset($pseudo)){
        $errors[] = 'Erreur dans la saisie de votre pseudo';
        return false;
    } elseif($pseudo == '') {
        $errors[] = 'Erreur dans la saisie de votre pseudo';
        return false;
    }
    // Mot de passe
    if(!isset($_POST['pass'])){
        $errors[] = 'Erreur dans la saisie de votre mot de passe';
    } elseif($_POST['pass'] == ''){
        $errors[] = 'Erreur dans la saisie de votre mot de passe';
    }
    // Verif mot de passe
    if($_POST['pass2'] =! $_POST['pass']){
        $errors[] = 'Les mots de passe sont differents';
    } elseif($_POST['mdp_verif'] == ''){
        $errors[] = 'Les mots de passe sont differents';
    } else if(!isset($_POST['mdp_verif'])){
        $errors[] = 'Les mots de passe sont differents';
    }
    // Adresse mail
    if(!isset($_POST['mail'])){
        $errors[] = 'Erreur dans la saisie de votre adresse mail';
    } elseif($_POST['mail'] == ''){
        $errors[] = 'Erreur dans la saisie de votre adresse mail';
    }
    // Verif adresse mail
    if($_POST['mail_verif'] != $_POST['mail']){
        $errors[] = 'Les adresses mail sont differentes';
    } elseif($_POST['mail_verif'] == ''){
        $errors[] = 'Les adresses mail sont differentes';
    } else if(!isset($_POST['mail_verif'])){
        $errors[] = 'Les adresses mail sont differentes';
    }      
    // Compte les erreurs
    if(count($errors) > 0)
    {
        echo '<ul>' . PHP_EOL;
        for($i=0; $i < count($errors); $i++)
            echo '<li>'. $errors[$i] .'.</li>' . PHP_EOL;
        echo '<ul>';
    }
}
?>

Is it an error in my variables? with $_POST ? Thx to help :)

  • 写回答

3条回答 默认 最新

  • dougou5852 2013-05-13 09:02
    关注

    First: PHP code must be enclosed with <?php .. ?> tags.

    Second: seems that file you posted here is *.html file. It either needs to be *.php file or have the webserver configured to parse html files as .php

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)