php
  • html
  • mysql
  • forms
  • 2013-09-26 126 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> 
    
    相關問題