1

フォームの値を記憶するためにこのページを編集するのを手伝ってくれる人はいますか? Cookie を使用する必要があると思いますか? 私はこの質問を多くの場所で検索しましたが、ページの特定の側面を変更するスクリプトを既に配置しているため、問題を解決するのに苦労しています.

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

2 に答える 2

4

PHPでフォームを送信すると、$_POSTスーパー変数にフォームのフィールドが入力されます。

Farhanが上で言ったように、あなたはただ<?php echo $_POST['fieldname']; ?>あなたのvalueプロパティに入れることができます。ただし、それはドロップダウンボックスでは役に立ちません。私は次のことを提案します:

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

上記は入力フィールドを実行します。「echo(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を見てください。最初のコードブロックの途中にいくつかの例があります。

于 2012-05-12T09:17:12.400 に答える
0

次のように投稿値をHTML値に追加することで、値を割り当てることができます。

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

フォームの各入力に、対応する入力名を使用してvalue=""を設定できます。ページが投稿されると、$ _ POST配列には送信したばかりの値が含まれるため、適切な入力タグ値に割り当てることができます。

これが、PHPでフォームメモリがどのように機能するかをよりよく理解するのに役立つことを願っています。

于 2012-05-04T14:32:50.227 に答える