drblhw5731 2011-05-26 02:17
浏览 36
已采纳

如何仅使用PHP在表单中放置错误消息?

Here is my validation script:

$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
$uploadedfile = $_FILES['uploadedfile'];

if (isset($_POST['submit'])) {

  if ($_POST['name'] != "") {
    $_POST['name'] = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
    if ($_POST['name'] == "") {
      $errors .= 'Please enter a valid name.<br/><br/>';
    }
  } else {
    $errors .= 'enter your name<br/>';
  }

  if ($_POST['email'] != "") {
    $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $errors .= "$email is <strong>NOT</strong> a valid email address.<br/><br/>";
    }
  } else {
    $errors .= 'enter your email address<br/>';
  }

  if((empty($_POST['text'])) && ($_FILES['uploadedfile']['size'] < 1))
    /*if((empty($_POST['text'])) && (empty($_FILES['uploadedfile'])))*/ {
      $errors .= 'either enter your text or attach a file.<br/><br/>';
    }

  if ($_POST['text'] != "") {
    $text = filter_var($_POST['text'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
    if ($_POST['text'] == "") {
      $errors .= 'Please enter a valid text.<br/><br/>';
    }
  }


  if (!$errors) {do some commands}

  else {
    echo '<div style="color: red; font-weight: bold; text-align: center"> The form was not sent. Please <br />' . $errors . '<br/>
      </div>';



  }

After this script comes my HTML with the form:

<form id="form" action="quot_form.php" method="post" enctype="multipart/form-data">

<div class = "left">
<fieldset>
    <legend><h3>Personal information</h3></legend>
    <p>
        <label for="name">Full name<span class = "star">*</span>:
        </label>
        <input type="text" name="name" id="name" value="<?php echo $name?>" />
    </p>    
    <p>
        <label for="company">Company:
        </label>
        <input type="text" name="company" id="company" value="<?php echo $company?>" />
    </p>    
    <p>
        <label for="email">Email<span class = "star">*</span>:
        </label>
        <input type="text" name="email" id="email" value="<?php echo $email?>" />
    </p>
    <p>
        <label for="phone">Telephone:
        </label>
        <input type="text" name="phone" id="phone" value="<?php echo $phone?>" />
    </p>
    <p>
        <label for="fax">Fax:
        </label>
        <input type="text" name="fax" id="fax" value="<?php echo $fax?>" />
    </p>
    <p>
        <label for="country">Country:
        </label>
        <input type="text" name="country" id="country" value="<?php echo $country?>" />
    </p>
</fieldset> 
<div class="spacer"></div>
<h3>General comments:</h3>
    <p>
        <textarea id = "comment" name="comment"></textarea><br /><br />
    </p>

    <div id = "mandatory">
        <span class = "star">*</span> Required fields
    </div>
</div>
<div class = "right">
<fieldset>
    <legend><h3>Enter text or upload file<span class = "star">*</span>:</h3></legend>
    <p>
        <textarea name="text"><?php echo $text?></textarea>
    </p>
    <p class = "upload">        
        <input type="file" name="uploadedfile" />
    </p>
</fieldset> 
    <div class="spacer_small"></div>
<fieldset>  
    <legend><h3>Languages<span class = "star">*</span>:</h3></legend>

    <div class="spacer_small"></div>

    <div>

        <span class = "language">from</span> <select name="from"> <option value="ach">Acoli</option><option value="afr">Afrikaans</option><option value="alb">Albanian</option><option value="amh">Amharic</option><option value="hbo">Ancient Hebrew</option><option value="ara">Arabic</option><option value="aze">Azerbaijani</option><option value="baq">Basque</option><option value="bel">Belarusian</option><option value="ben">Bengali</option><option value=".bo">Bosnian</option><option value="bre">Breton</option><option value="bul">Bulgarian</option><option value="cat">Catalan</option><option value="che">Chechen</option><option value="chi">Chinese</option><option value="chk">Chuukese</option><option value="mus">Creek</option><option value=".cr">Croatian</option><option value="ces">Czech</option><option value="dak">Dakota</option><option value="dan">Danish</option><option value="din">Dinka</option><option value="dut">Dutch</option><option value="eng">English</option><option value="epo">Esperanto</option><option value="est">Estonian</option><option value="fng">Fanagalo</option><option value=".fs">Farsi (Persian)</option><option value="fin">Finnish</option><option value=".fl">Flemish</option><option value="fra">French</option><option value="fur">Friulian</option><option value="gae">Gaelic</option><option value="glg">Galician</option><option value="geo">Georgian</option><option value="deu">German</option><option value="ell">Greek</option><option value="grc">Greek (Ancient)</option><option value="grn">Guarani</option><option value="guj">Gujarati</option><option value=".hc">Haitian-Creole</option><option value="hau">Hausa</option><option value="heb">Hebrew</option><option value="her">Herero</option><option value="hin">Hindi</option><option value=".hm">Hmong</option><option value="hun">Hungarian</option><option value="ice">Icelandic</option><option value="ibo">Igbo</option><option value="ind">Indonesian</option><option value="gai">Irish</option><option value="ita">Italian</option><option value="jpn">Japanese</option><option value="jav">Javanese</option><option value="kab">Kabyle</option><option value="xal">Kalmyk-Oirat</option><option value="khm">Khmer</option><option value="kor">Korean</option><option value="kur">Kurdish</option><option value="lat">Latin</option><option value="lav">Latvian</option><option value="lit">Lithuanian</option><option value="mac">Macedonian</option><option value="mlg">Malagasy</option><option value="may">Malay</option><option value="mal">Malayalam</option><option value="mlt">Maltese</option><option value="mao">Maori</option><option value="mar">Marathi</option><option value="mas">Masai</option><option value="myn">Mayanlanguages</option><option value="mon">Mongolian</option><option value="nah">Nahuatl (Aztec)</option><option value="nde">NdebeleNorth</option><option value="nbl">NdebeleSouth</option><option value="nep">Nepali</option><option value="nor">Norwegian</option><option value="nob">Norwegian(Bokmal)</option><option value="pan">Panjabi</option><option value="fas">Persian (Farsi)</option><option value="pol">Polish</option><option value="por">Portuguese</option><option value="pus">Pushto</option><option value="raj">Rajasthani</option><option value="ron">Romanian</option><option value="rus">Russian</option><option value="san">Sanskrit</option><option value="...">Serbian</option><option value="scr">Serbo-Croat</option><option value="sot">Sesotho (S. Sotho)</option><option value="sna">Shona</option><option value=".sg">Sign Language</option><option value="sin">Sinhalese</option><option value="sit">Sino-Tibetan</option><option value=".ss">SiSwati (Swazi)</option><option value="slk">Slovak</option><option value="slv">Slovenian</option><option value="esl" selected="selected">Spanish</option><option value="swa">Swahili</option><option value="sve">Swedish</option><option value="tgl">Tagalog</option><option value="tah">Tahitian</option><option value="tam">Tamil</option><option value="tat">Tatar</option><option value="tel">Telugu</option><option value="tet">Tetum</option><option value="tha">Thai</option><option value="bod">Tibetan</option><option value="tso">Tsonga</option><option value="tsn">Tswana</option><option value="tur">Turkish</option><option value="ukr">Ukrainian</option><option value="urd">Urdu</option><option value="ven">Venda</option><option value="vie">Vietnamese</option><option value="cym">Welsh</option><option value="yid">Yiddish</option><option value="zha">Zhuang (Chuang)</option><option value="zul">Zulu</option> </select><br />
        <div class="spacer_small"></div>
        <div class="spacer_small"></div>
        <div class="spacer_small"></div>
        <span class = "language">to</span>  <select name="to"> <option value="ach">Acoli</option><option value="afr">Afrikaans</option><option value="alb">Albanian</option><option value="amh">Amharic</option><option value="hbo">Ancient Hebrew</option><option value="ara">Arabic</option><option value="aze">Azerbaijani</option><option value="baq">Basque</option><option value="bel">Belarusian</option><option value="ben">Bengali</option><option value=".bo">Bosnian</option><option value="bre">Breton</option><option value="bul">Bulgarian</option><option value="cat">Catalan</option><option value="che">Chechen</option><option value="chi">Chinese</option><option value="chk">Chuukese</option><option value="mus">Creek</option><option value=".cr">Croatian</option><option value="ces">Czech</option><option value="dak">Dakota</option><option value="dan">Danish</option><option value="din">Dinka</option><option value="dut">Dutch</option><option value="eng" selected="selected">English</option><option value="epo">Esperanto</option><option value="est">Estonian</option><option value="fng">Fanagalo</option><option value=".fs">Farsi (Persian)</option><option value="fin">Finnish</option><option value=".fl">Flemish</option><option value="fra">French</option><option value="fur">Friulian</option><option value="gae">Gaelic</option><option value="glg">Galician</option><option value="geo">Georgian</option><option value="deu">German</option><option value="ell">Greek</option><option value="grc">Greek (Ancient)</option><option value="grn">Guarani</option><option value="guj">Gujarati</option><option value=".hc">Haitian-Creole</option><option value="hau">Hausa</option><option value="heb">Hebrew</option><option value="her">Herero</option><option value="hin">Hindi</option><option value=".hm">Hmong</option><option value="hun">Hungarian</option><option value="ice">Icelandic</option><option value="ibo">Igbo</option><option value="ind">Indonesian</option><option value="gai">Irish</option><option value="ita">Italian</option><option value="jpn">Japanese</option><option value="jav">Javanese</option><option value="kab">Kabyle</option><option value="xal">Kalmyk-Oirat</option><option value="khm">Khmer</option><option value="kor">Korean</option><option value="kur">Kurdish</option><option value="lat">Latin</option><option value="lav">Latvian</option><option value="lit">Lithuanian</option><option value="mac">Macedonian</option><option value="mlg">Malagasy</option><option value="may">Malay</option><option value="mal">Malayalam</option><option value="mlt">Maltese</option><option value="mao">Maori</option><option value="mar">Marathi</option><option value="mas">Masai</option><option value="myn">Mayanlanguages</option><option value="mon">Mongolian</option><option value="nah">Nahuatl (Aztec)</option><option value="nde">NdebeleNorth</option><option value="nbl">NdebeleSouth</option><option value="nep">Nepali</option><option value="nor">Norwegian</option><option value="nob">Norwegian(Bokmal)</option><option value="pan">Panjabi</option><option value="fas">Persian (Farsi)</option><option value="pol">Polish</option><option value="por">Portuguese</option><option value="pus">Pushto</option><option value="raj">Rajasthani</option><option value="ron">Romanian</option><option value="rus">Russian</option><option value="san">Sanskrit</option><option value="...">Serbian</option><option value="scr">Serbo-Croat</option><option value="sot">Sesotho (S. Sotho)</option><option value="sna">Shona</option><option value=".sg">Sign Language</option><option value="sin">Sinhalese</option><option value="sit">Sino-Tibetan</option><option value=".ss">SiSwati (Swazi)</option><option value="slk">Slovak</option><option value="slv">Slovenian</option><option value="esl">Spanish</option><option value="swa">Swahili</option><option value="sve">Swedish</option><option value="tgl">Tagalog</option><option value="tah">Tahitian</option><option value="tam">Tamil</option><option value="tat">Tatar</option><option value="tel">Telugu</option><option value="tet">Tetum</option><option value="tha">Thai</option><option value="bod">Tibetan</option><option value="tso">Tsonga</option><option value="tsn">Tswana</option><option value="tur">Turkish</option><option value="ukr">Ukrainian</option><option value="urd">Urdu</option><option value="ven">Venda</option><option value="vie">Vietnamese</option><option value="cym">Welsh</option><option value="yid">Yiddish</option><option value="zha">Zhuang (Chuang)</option><option value="zul">Zulu</option> </select>
    </fieldset> 

        <div class="fileinputs">
        <input type="submit" class="file" name="submit" value = "SEND" />
        <div class="fakefile">
        <img src="images/send_small.png" />
        </div>
                </div>
                <div class="fileinputs">
                    <input type="reset" class="file" />
                    <div class="fakefile">
                            <img src="images/reset_small.png" />
                    </div>
                </div>

Currently, the error messages appear outside the page, above it. How do I place them inside the form?

Thank you!

  • 写回答

2条回答 默认 最新

  • douxiezha9319 2011-05-26 02:31
    关注

    If the HTML is in the same file as that code or if it's included by that code, you can simply move the else portion of your if-statement directly into the HTML

    <form>
    <?php
       if ($errors) {          
           echo '<div style="color: red; font-weight: bold; text-align: center"> The form was not sent. Please <br />' . $errors . '<br/></div>';
       }
    ?>
    </form>
    

    Not exactly the most elegant solution, but you get the idea.

    If the HTML is somewhere else, the same idea applies except you'll have to pass in the value of $errors so it's available.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作