php
  • html
  • mysql
  • forms
  • 2013-09-26 48 views 3 likes 
    3

    我有一个域名检查表单,我有一个容器。在我提交表格后,将检查域名的可用性,并将消息显示在与表单相同的容器中。当显示消息时,我想要表单和第一个H2消失。我怎样才能做到这一点?PHP - 如何隐藏表单后提交

    我的代码:只 显示形式时,我们没有提交表单值:

    <div id="domain-name-check"> 
        <h2>Is uw domeinnaam nog vrij?</h2> 
        <form method='post' class="clearfix"> 
         <input type=text name=domain> 
          <select name="suffix"> 
           <option value=".nl">.nl</option> 
           <option value=".be">.be</option> 
           <option value=".com">.com</option> 
           <option value=".net">.net</option> 
           <option value=".org">.org</option> 
           <option value=".biz">.biz</option> 
           <option value=".info">.info</option> 
           <option value=".mobi">.mobi</option> 
           <option value=".ws">.ws</option> 
           <option value=".cc">.cc</option> 
          </select> 
          <input type=submit name=proses value=Check> 
        </form> 
        <?php 
        if(isset($_POST['proses'])){ 
         $domain_name = "$_POST[domain]"."$_POST[suffix]"; 
         $arrHost = @gethostbynamel("$domain_name"); 
         $date = date('y-m-d'); 
    
         if(empty($arrHost)){ 
          echo "<h2>$domain_name is beschikbaar</h2> <a href='/offerte-aanvragen/".$domain_name."/'>Vraag een offerte aan</a>"; 
          $availability = "yes"; 
         }else{ 
          echo "<h2>$domain_name is helaas bezet</h2> <a href='/offerte-aanvragen/".$domain_name."/verhuizen/'>Verhuis uw domein</a>"; 
          $availability = "no"; 
         } 
    
         mysql_query("INSERT domainnames SET dns='".$domain_name."', available='".$availability."', timestamp='".$date."'")or die(mysql_error()); 
    
        } 
        ?> 
    </div> 
    
    +0

    考虑用双引号将包装在'和' input type =“text”name =“domain”>' –

    +0

    也考虑使用不同的页面而不是条件内容的单个页面。谷歌模板引擎,如“Smarty” –

    +0

    您不必使用巨大的表单作为例子来解决您的问题。 请 - 这是指每个人 - 尽量减少您的示例代码。因此,更容易1)读取代码和2)回复它,尤其是,修改代码。就那么简单。 – Apostolos

    回答

    8

    更正代码。 所以,写你的HTML代码中else标签如下:

    <div id="domain-name-check"> 
    
        <?php 
        if(isset($_POST['proses'])){ 
         $domain_name = "$_POST[domain]"."$_POST[suffix]"; 
         $arrHost = @gethostbynamel("$domain_name"); 
         $date = date('y-m-d'); 
    
         if(empty($arrHost)){ 
          echo "<h2>$domain_name is beschikbaar</h2> <a href='/offerte-aanvragen/".$domain_name."/'>Vraag een offerte aan</a>"; 
          $availability = "yes"; 
         }else{ 
          echo "<h2>$domain_name is helaas bezet</h2> <a href='/offerte-aanvragen/".$domain_name."/verhuizen/'>Verhuis uw domein</a>"; 
          $availability = "no"; 
         } 
    
         mysql_query("INSERT domainnames SET dns='".$domain_name."', available='".$availability."', timestamp='".$date."'")or die(mysql_error()); 
    
        } 
         else { 
         ?> 
         <h2>Is uw domeinnaam nog vrij?</h2> 
        <form method='post' class="clearfix"> 
         <input type=text name=domain> 
          <select name="suffix"> 
           <option value=".nl">.nl</option> 
           <option value=".be">.be</option> 
           <option value=".com">.com</option> 
           <option value=".net">.net</option> 
           <option value=".org">.org</option> 
           <option value=".biz">.biz</option> 
           <option value=".info">.info</option> 
           <option value=".mobi">.mobi</option> 
           <option value=".ws">.ws</option> 
           <option value=".cc">.cc</option> 
          </select> 
          <input type=submit name=proses value=Check> 
        </form> 
         <?php 
         } 
        ?> 
    </div> 
    
    +0

    Downvote缺乏对更改内容的解释,或者为什么它修复了代码。没有关于技术或文档链接的讨论。这个问题的答案对社区没有任何价值。 – michaelward82

    +1

    嗨@ michaelward82,感谢downvoting。我明白了。从现在起,我将提供适当的解释,链接和文件。这是这个网站的荣耀。 – Pupil

    +0

    然后我会收回downvote :)希望你继续享受使用SO! – michaelward82

    1
    <div id="domain-name-check"> 
        <?php if(!isset($_POST['proses'])){ ?><h2>Is uw domeinnaam nog vrij?</h2> 
        <form method='post' class="clearfix"> 
         <input type=text name=domain> 
          <select name="suffix"> 
           <option value=".nl">.nl</option> 
           <option value=".be">.be</option> 
           <option value=".com">.com</option> 
           <option value=".net">.net</option> 
           <option value=".org">.org</option> 
           <option value=".biz">.biz</option> 
           <option value=".info">.info</option> 
           <option value=".mobi">.mobi</option> 
           <option value=".ws">.ws</option> 
           <option value=".cc">.cc</option> 
          </select> 
          <input type=submit name=proses value=Check> 
        </form> 
        <?php } //endif form submitted 
        if(isset($_POST['proses'])){ 
         $domain_name = "$_POST[domain]"."$_POST[suffix]"; 
         $arrHost = @gethostbynamel("$domain_name"); 
         $date = date('y-m-d'); 
    
         if(empty($arrHost)){ 
          echo "<h2>$domain_name is beschikbaar</h2> <a href='/offerte-aanvragen/".$domain_name."/'>Vraag een offerte aan</a>"; 
          $availability = "yes"; 
         }else{ 
          echo "<h2>$domain_name is helaas bezet</h2> <a href='/offerte-aanvragen/".$domain_name."/verhuizen/'>Verhuis uw domein</a>"; 
          $availability = "no"; 
         } 
    
         mysql_query("INSERT domainnames SET dns='".$domain_name."', available='".$availability."', timestamp='".$date."'")or die(mysql_error()); 
    
        } 
        ?> 
    </div> 
    
    0

    这可以通过重组当前的代码位来实现:

    <?php 
        if(isset($_POST['proses'])){ 
         # code ... 
        } 
        else { 
    ?> 
         <div id="domain-name-check"> 
         <!-- your form code goes here --> 
         </div> 
    <?php 
        } //end of else block 
    ?> 
    

    全码:

    <?php 
    if(isset($_POST['proses'])) 
    { 
        $domain_name = "$_POST[domain]"."$_POST[suffix]"; 
        $arrHost = @gethostbynamel("$domain_name"); 
        $date = date('y-m-d'); 
    
        if(empty($arrHost)){ 
         echo "<h2>$domain_name is beschikbaar</h2> <a href='/offerte-aanvragen/".$domain_name."/'>Vraag een offerte aan</a>"; 
         echo "AVAILABLE"; 
         $availability = "yes"; 
        }else{ 
         echo "<h2>$domain_name is helaas bezet</h2> <a href='/offerte-aanvragen/".$domain_name."/verhuizen/'>Verhuis uw domein</a>"; 
         echo "NOT AVAILABLE"; 
         $availability = "no"; 
        } 
    
        mysql_query("INSERT domainnames SET dns='".$domain_name."', available='".$availability."', timestamp='".$date."'")or die(mysql_error()); 
    } 
    
    else 
    { 
    ?> 
        <div id="domain-name-check"> 
        <h2>Is uw domeinnaam nog vrij?</h2> 
        <form method='post' class="clearfix"> 
        <input type=text name=domain> 
        <select name="suffix"> 
         <option value=".nl">.nl</option> 
         <option value=".be">.be</option> 
         <option value=".com">.com</option> 
         <option value=".net">.net</option> 
         <option value=".org">.org</option> 
         <option value=".biz">.biz</option> 
         <option value=".info">.info</option> 
         <option value=".mobi">.mobi</option> 
         <option value=".ws">.ws</option> 
         <option value=".cc">.cc</option> 
        </select> 
        <input type=submit name=proses value=Check> 
        </form> 
        </div> 
    <?php 
        } 
    ?> 
    
    0

    下你的表单标签,插入一个像这样的隐藏表单域:

    <form method='post' class="clearfix"> 
    <input type="hidden" name="action" id="action" value="hideme" /> 
    ................................. 
    ............................. 
    
    </form> 
    

    现在在你的$ _ POST部分,使用以下逻辑:

    if (isset($_POST['action'])&& ($_POST['action']=='hideme')) 
    { 
        //perform your intended task on submission 
    }else { 
    
    //Show My form code again 
    
    } 
    

    简单!

    0

    HTML代码可以用PHP封装来有条件地显示它。

    考虑以下为这种类型的功能模板:

    <?php if (condition) { ?> 
    
        <p>HTML</p> 
    
    <?php } ?> 
    

    就这么简单。

    在这种情况下,您的情况可能会是

    if (isset($_POST['proses']) 
    
    0

    if (!isset($_POST)){ 
         echo '<h2>Is uw domeinnaam nog vrij?</h2>'; 
    } 
    

    更换<h2>Is uw domeinnaam nog vrij?</h2>这将确保,如果形式不提交再h2会看到用户 或者你可以使用Javascript

    0

    使用以下内容:

    <?php 
    
    if ( isset($_POST['field_name']) ) 
        { 
        .... // submit 
        exit(); 
    
        } 
    
    ?> 
    
    <html> 
    <form ... action="" method="POST"> 
    .... 
    .... 
    </form> 
    </html> 
    
    相关问题