2013-06-05 67 views
0

的形式返回index.php我相信我使用Firebug發現了我的表單問題。經過仔細檢查,我的表單操作被設置爲index.php,當有人在主頁上時。我改變了這個簡單/在螢火蟲和它的工作。我的問題是,表格可以在一些頁面上工作,而不會在其他頁面上工作。該行爲被設置爲

<?php echo htmlentities($_SERVER['PHP_SELF']); ?> 

在我的代碼中。我如何才能讓它顯示爲/只顯示在主頁上,而不是index.php。 我指的網站和頁面是'鏈接'的主頁,如果需要的話。有問題的表格是通訊表格。導航到「鏈接」時顯示正確的地址。代碼是:

</div> 
<div class="footer"> 
<div class="wideNewsletter"> 
<div class="wrapNewsletter"> 
<div class="newsletterIntro"><b>NEWSLETTER SIGN UP</b></div> 
<div class="newsletterForm"> 
<?php/* var_dump($_SERVER) */?> 
<?php 
$name = ""; 
$email = ""; 
$msg_to_user = ""; 
if ($_POST['name'] != "") { 

    include_once "connect_to_mysql.php"; 

    // Be sure to filter this data to deter SQL injection, filter before querying database 
    $name = mysql_real_escape_string(strip_tags(trim($_POST['name']))); 
    $email = mysql_real_escape_string(strip_tags(trim($_POST['email']))); 

    $sql = mysql_query("SELECT * FROM newsletter WHERE email='$email'"); 
    $numRows = mysql_num_rows($sql); 

function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 


    if (!$email) { 

     $msg_to_user = '<div class="warning"><ul><li>Please type an email address ' . $name . '.</li></ul></div><br /><br />'; 

    } else if ($numRows > 0) { 

     $msg_to_user = '<div class="warning"><ul><li>' . $email . ' is already in the system.</li></ul></div><br /><br />'; 

    } else { 

     $sql_insert = mysql_query("INSERT INTO newsletter (name, email, dateTime) 
                VALUES('$name','$email',now())") or die (mysql_error()); 

     $msg_to_user = '<div class="success"><ul><li>Thanks ' . $name . ', hope you find what you want!</li></ul></div><br /><br />'; 
     $name = ""; 
     $email = ""; 
    } 
    $message = 'Name: ' . $_POST['name'] . 'Page:'.$curPageURL.', Email: ' . $_POST['email']; 
mail('[email protected]', 'New Newsletter Sign Up at Monique Trinidad Jewelry', $message); 
} 
?> 
<form style="width:430px;" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post"> 
<fieldset style="text-align:left;padding:0px;border:0px;"> 
Name: 
<input name="name" type="text" maxlength="36" value="<?php echo $name; ?>" /> 
Email: 
<input name="email" type="text" maxlength="36" value="<?php echo $email; ?>" /> 
<input type="image" src="https://www.moniquetrinidadjewelry.com/images/new-images/green-bullet.png" border="0" name="mySubmitBtn" type="submit" value="Submit"> 

</fieldset> 
</form></div> 
<div style="position:absolute;top:120px;"><?php echo $msg_to_user; ?></div> 
<div class="newsletterExplain">Receive product updates. Remember only one of each!</div> 
</div> 
</div><!--wide newletter end--> 
<div class="wrapFooter"> 


<div class="tearOneFooter"> 
    <div class="footerColumnList"> 
     <div class="footerTitles">Connect With Us</div> 
     <div class="footerLists"> 
      <ul> 
       <li><a href="https://www.moniquetrinidadjewelry.com/contact/contact-pop.php">Connect With Monique!</a></li> 
      </ul> 
     </div> 

    </div> 
<!--Seperate Connect With us Column from Information Column--> 
    <div class="footerColumnList"> 
     <div class="footerTitles">Information</div> 
     <div class="footerLists"> 
      <ul> 
       <li><a href="https://www.moniquetrinidadjewelry.com/about-us.php">About Us</a></li> 
       <li><a href="https://www.moniquetrinidadjewelry.com/packaging.php">Packaging</a></li> 
       <li><a href="https://www.moniquetrinidadjewelry.com/terms-and-conditions.php">Terms & Conditions</a></li> 
      </ul> 
     </div> 
    </div> 
<!--Seperate Information Column from Shipping and Returns Column--> 
    <div class="footerColumnList"> 
     <div class="footerTitles">Shipping and Returns</div> 
     <div class="footerLists"> 
      <ul> 
       <li><a href="https://www.moniquetrinidadjewelry.com/return-policy.php">Orders and Returns<a/></li> 
       <li><a href="https://www.moniquetrinidadjewelry.com/secure-shopping.php">Secure Shopping</a></li> 
       <li></li> 
      </ul> 
     </div> 
    </div> 
<!--Seperate Shipping and Returns Column from Services & Support Column--> 
    <div class="footerColumnList"> 
     <div class="footerTitles">Hours Of Operation</div> 
     <div class="footerLists"> 
      <ul> 
       <li>We are a 24/7 <br />Online Establishment!<br />(US Based)</li> 
      </ul> 
     </div> 
    </div> 
<!--Seperate Connect With us Column from Information Column--> 
</div> 
<!--Beging SecondTearFooterArea--> 
<div class="tearTwoFooter"> 

    <!--<div class="signUpNewsLetter"><img src="https://www.moniquetrinidadjewelry.com/images/news_letter_temp_IMG.png" alt="newsletter" /></div>--> 
    <div class="paymentOptions"><img src="https://www.moniquetrinidadjewelry.com/images/payment_options_temp.png" alt="payment options" /></div> 
    <div class="twitter"><a href="https://twitter.com/MoniqueJewelry"><img src="https://www.moniquetrinidadjewelry.com/images/twitter_temp.png" alt="twitterLink" /></a></div> 


</div> 
</div> 
</div> 
</div> 

======================================= =================================== 有問題的擴展:

刪除不再需要的鏈接。當不使用php_self時,是否可以清理action =「」?

+0

可能的複製http://stackoverflow.com/questions/8720238/php-self-dont-work-in-same-page –

回答

0

如果您希望表單提交到當前正在使用的頁面,將使用一個空的操作屬性,該屬性將導致表單提交到當前的URL。

<form style="width:430px;" action="" method="post"> 
+0

我看了個明白,但感覺不完整的。以這種方式做簡單的「」是否有缺點?有沒有可能對此進行消毒? –

相關問題