2012-05-03 17 views
1

フォームの値を記憶するためにこのページを編集するのに役立つ人はいますか?私はクッキーを使用する必要があると思いますか? Iveは多くの場所でこの質問を検索しましたが、私のページの特定の面を変更するスクリプトが既に用意されているため、問題を解決するのに苦労しています。フォームフィールドの値を記憶する

<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値にポスト値を追加することにより、値を割り当てることができます。

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

あなたは、対応する入力された名前を使用して、フォーム上の各入力のために「」=の値を設定することができます。ページがポストされると、$ _POST配列にはあなたが送信した値が含まれているため、適切な入力タグ値に割り当てることができます。

希望は、フォームメモリがPHPでどのように機能するかを理解するのに役立ちます。

+0

ファーハンあなたは答えを短くすることを避けたい場合があります。多くの人がこれを有効にしていない可能性がありますphp.iniの設定で(私のように!)。あなたの例を修正します。乾杯:) –

4

PHPでフォームを送信すると、$ _POSTスーパー変数がフォームのフィールドで埋められます。

上記の通り、<?php echo $_POST['fieldname']; ?>をあなたのvalueプロパティに入れることができます。しかし、それはあなたのドロップダウンボックスであなたを助けません。私はお勧めします次:

<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> 

フォームが投稿された際に、関連する1が答えた場合は、上記のブロックは、あなたのオプションで選択フラグを配置します。私は、通常、各オプションをエコーPHPで私のドロップダウンを建設しますループの中で必要なコード量を減らすことができますが、あなたのやり方も同様に機能します。

エコーを理解する助けが必要な場合は? 'a': 'b';メソッドhttp://php.net/manual/en/function.echo.phpを見てくださいいくつかの例は、最初のコードブロックの半分の方法です。

+0

"Westfield Sandown"あなたは最後にあなたの質問に答えましたか? – melodiouscode

+1

@ westfield-sandownこれは正しい答えとしてマークする必要があります:) –

関連する問題