2012-05-03 87 views
1

任何人都可以幫我編輯這個頁面來記住表單的值嗎?我想我需要使用Cookie?我已經在很多地方搜索了這個問題,但是因爲我已經制作了可以改變我的頁面某些方面的腳本,所以我很難解決這個問題。記住表單域值

<input type=text value="Destination" name=title onclick="this.value = '';" value="<?php echo $_POST['title'] ?>"> 

您可以將該值設置在表單上與相應的輸入名稱=「」每個輸入:

<html> 
<head> 
<title>Laterooms App</title> 
<meta name="apple-mobile-web-app-status-bar-style" content="black"> 
<meta name="format-detection" content="telephone=no"> 
<meta name="viewport" content="width=device-width; initial-scale = 1.0; maximum-scale=1.0; user-scalable=no" /> 
<style type="text/css"> 
*{margin:2;padding:0} 
html, body {width:320;overflow:hidden} 
</style> 
</head> 
<body> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- Begin 
function submitForm(s) { 
s.value = " Loading... "; 
return true; 
} 
// End --> 
</script> 
<script type="text/javascript"> 
function changeImg(img, newimg) { 
img.src = newimg; 
} 
</script> 

<center> 
<form name=myform onSubmit="return submitForm(this.submitbutton)"> 
<img src="laterooms.jpg"><br><br> 
<input type=text value="Destination" name=title onclick="this.value = '';"> 
<br>Date:<br> 
<select name="month"> 
    <option value="1">January 
    <option value="2">February 
    <option value="3">March 
    <option value="4">April 
    <option value="5">May 
    <option value="6">June 
    <option value="7">July 
    <option value="8">August 
    <option value="9">September 
    <option value="10">October 
    <option value="11">November 
    <option value="12">December 
</select> 
<select name="day"> 
    <option value="1">1 
    <option value="2">2 
    <option value="3">3 
    <option value="4">4 
    <option value="5">5 
    <option value="6">6 
    <option value="7">7 
    <option value="8">8 
    <option value="9">9 
    <option value="10">10 
    <option value="11">11 
    <option value="12">12 
    <option value="13">13 
    <option value="14">14 
    <option value="15">15 
    <option value="16">16 
    <option value="17">17 
    <option value="18">18 
    <option value="19">19 
    <option value="20">20 
    <option value="21">21 
    <option value="22">22 
    <option value="23">23 
    <option value="24">24 
    <option value="25">25 
    <option value="26">26 
    <option value="27">27 
    <option value="28">28 
    <option value="29">29 
    <option value="30">30 
    <option value="31">31 
</select> 
<select name="year"> 
    <option value="2012">2012 
    <option value="2013">2013 
    <option value="2014">2014 
</select> 
<br><br> 
No. of Nights: 
<select name="nights"> 
    <option value="1">1 
    <option value="2">2 
    <option value="3">3 
    <option value="4">4 
    <option value="5">5 
    <option value="6">6 
    <option value="7">7 
    <option value="8">8 
    <option value="9">9 
    <option value="10">10 
    <option value="11">11 
    <option value="12">12 
    <option value="13">13 
    <option value="14">14 
    <option value="15">15 
    <option value="16">16 
    <option value="17">17 
    <option value="18">18 
</select> 
<input type=submit name=submitbutton value="Submit"><br> 
Please be patient<br>while your results load. 
<hr color="#401485"> 
<?php 

$url = "http://xmlfeed.laterooms.com/index.aspx?aid=1000&rtype=4&kword=".$_GET['title']."&sdate=".$_GET['year']."-".$_GET['month']."-".$_GET['day']."&nights=".$_GET['nights']."&orderby=hoteldistance&sortorder=asc"; 

$xml = simplexml_load_file($url); 

foreach($xml->hotel as $hotel) 
{ 

echo "<p>"; 
echo "<img src=".$hotel->images." height=100 width=100><br/>"; 
echo "<strong>Hotel Name:</strong><br> ".$hotel->hotel_name."<br/>"; 
echo "<strong>Prices From:</strong> &pound;".$hotel->prices_from."<br/>"; 
echo "<a href=".$hotel->hotel_link."><img src=http://affiliates.laterooms.com/AffiliateImages/en/buttons/more_details1.gif onclick=this.src='loading.gif'></a><br/>"; 
echo "<strong>Miles from ".$_GET['title']."</strong> ".$hotel->hotel_distance."<br/>"; 
echo "</p><hr color=#401485>"; 

} 
?> 

</form> 
</center> 
</body> 
</html> 
+0

http://mattgemmell.com/2008/12/08/what-have-you-tried/ – Tejs

回答

0

您可以通過添加後的值到HTML值這樣的分配值。當頁面發佈時,$ _POST數組包含您剛剛提交的值,因此您可以將其分配給正確的輸入標籤值。

希望能幫助你更好地理解表單記憶如何在PHP中工作。

+0

Farhan你可能想避免在你的答案中使用短手php'',因爲許多人可能沒有啓用此功能在他們的php.ini設置(像我自己!)。我會修改你的例子。歡呼聲:) –

4

當您在PHP中提交表單時,$ _POST超級變量會填充表單的字段。

正如Farhan所說,您可以將<?php echo $_POST['fieldname']; ?>放入您的價值資產中。但是,這不會幫助你下拉框。我建議如下:

<input type="text" name="txtName" value="<?php echo (isset($_POST['txtName']) ? $_POST['txtName'] : ''); ?>"/> 

上面會做你的輸入框,在「回聲(isset(...」位將標記錯誤停止PHP如果表單尚未提交的下一次。塊將覆蓋你的下拉框。

<select name="ddlCountry"> 
    <option value="England" <?php echo (isset($_POST['ddlCountry']) && $_POST['ddlCountry'] == 'England' ? ' selected="selected" ' : '');?> >England</option> 
    <option value="France" <?php echo (isset($_POST['ddlCountry']) && $_POST['ddlCountry'] == 'France' ? ' selected="selected" ' : '');?> >France</option> 
</select> 

以上塊就會把選定的標誌上你的選擇,如果有關的一個被回答的形式張貼時,我通常會建立自己的下拉菜單中的PHP呼應的每個選項在一個循環中減少所需的代碼量,但是你的方式也可以工作。

如果您需要幫助瞭解回聲? 'a':'b';方法看看http://php.net/manual/en/function.echo.php在第一個代碼塊的下半部分有一些例子。

+0

「Westfield Sandown」你最終回答了你的問題嗎? – melodiouscode

+1

@ westfield-sandown這應該被標記爲正確答案:) –