• ベストアンサー

記述の仕方

<?php For ($p=1; $p<=5; $p=1++){ $wr = "<input type="text" name="ken[p]" value="<?php echo $ken[$p] ;?>"> $wr = $wr . "<input type="text" name="ken[p]" value="<?php echo $shouhin_name[$p] ;?>>" }    echo $wr ?> この記述ではエラーになりますどうしてですか?

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • kirin_f
  • ベストアンサー率51% (44/85)
回答No.1

<?php For ($p=1; $p<=5; $p++){ $wr .= "<input type=\"text\" name=\"ken[$p]\" value=\"$ken[$p]\">"; $wr .= "<input type=\"text\" name=\"ken[$p]\" value=\"$shouhin_name[$p]\">"; } echo $wr; ?> で動きます。 1.<?php ?>の中にさらに<?php ?>を入れない。 2.""で囲っている中で"を使うときは、\をつけてエスケープさせるか'を代用する。 3.行の最後に;をつける。 もうちょっと基本的なことから、勉強された方がよいかと思います・・・

chura86
質問者

お礼

回答ありがとうございます。 本当に基本的な事が出来てないですね(>_<) でも今年中にASPからPHPにプログラム修正をしないと いけないのです。 頑張りますので、これからもアドバイスよろしくお願いします。

関連するQ&A

  • 質問です!

    下記のように記述しました。 $jusyo_ken_meiをarray構文にしたのですが、沖縄しか出ません。 2345も出せるようにしたいのですがどうしたらいいですか? <body> <form method="POST" action="text.php"> <p><input type="text" name="T1" size="20" value="<?php echo $T1 ; ?>"></p> <p><select size="1" name="$jusyo_ken"> <?php $jusyo_ken_mei = array (1 =>"沖縄県" , 2 =>"北海道", 3 =>"東京", 4 =>"大阪", 5 =>"鹿児島"); if ($jusyo_ken == ""){ echo "<option value=\"\" selected>---</optin>"; }else{ echo "<option value=\"\">--- </optin>"; } if ($jusyo_ken == "$jusyo_ken_mei[1]"){ echo "<option selected>$jusyo_ken_mei[1]</option>"; }else{ echo "<option>$jusyo_ken_mei[1]</option>"; } ?> </select></p> <p> </p> <p> </p> <p> </p> <p><input type="submit" value="送信" name="B1"><input type="reset" value="リセット" name="B2"></p> </form> </body>

    • ベストアンサー
    • PHP
  • extract($_POST)

    PHP&MySQLの初心者です。 レンタルサーバーでPHP&MySQLを利用したいと思い、入門本を読みながらやっておりますが、PHPからMySQLのデータベースへ 入力しようとすると、 Warning: extract() expects first argument to be an array in /home/.sites/62/site118/web/ken4.php on line 12 のエラーがでます。 色々調べて行くとどうも「extract($_POST)」がPHPのバージョンによって使えないとの事までは解ったのですが、これを回避する方法がわかりません。 レンタルサーバーはPHP4(4.0.6)とMySQL(3.23)です。 是非ともご回答をお待ちしています。 ちなみに入門本のスクリプトは以下のものです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>県データ登録</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <?php extract($_POST); if($ken<>''){ mysql_connect('××××','×××','××××'); mysql_select_db('×××'); $sql = "insert into todofuken values('$ken', '$kec', $jin, $men,)"; mysql_query($sql); $ken = ''; echo "データを登録しました<br />"; echo "登録を続けますか <a href=\"ken4.php\">続行</a>"; exit; } ?> <p>データを入力してください</p> <form action="ken4.php" method="post" > <p>県   名:<input type="text" name="ken" size="40"></p> <p>県庁所在地:<input type="text" name="kec" size="40"></p> <p>人   口:<input type="text" name="jin" size="40"></p> <p>面   積:<input type="text" name="men" size="40"></p> <input type="submit" value="登録"> <input type="reset" value="リセット"> </form> </body> </html>

    • 締切済み
    • PHP
  • 複数のテキストボックス

    いつもお世話になります。 データの登録でつまづいておりますので教えていただきたく思います。 複数のテキストボックス(件数は変動します)の値を登録するため、 ---A.php---(入力後の確認画面) for($i=0; $i<10; $i++) { if($shouhin[$i] != ""){ <input size='20' type='text' name='shouhin[]' value='{$shouhin[$i] readonly} <input size='10' type='text' name='price[]' value='{$price[$i]}' readonly> <input type='submit' name='send' value='送信'> ---B.php--- if(isset($_POST['send'])){ $count = count($shouhin); for($i=0 ; $i< $count ; $i++ ) { $sql = "INSERT INTO table(shouhin , price ) VALUES("; $sql .= " '$shouhin[$i]' , '$price[$i]');"; } } としています。 2件以上登録すると、最後のデータしか登録されていません。 forの使い方が間違っているのだとは思うのですが・・・ どこを直したらよいのでしょうか。 教えてください。

    • 締切済み
    • PHP
  • PHP

    PHPで <p>曜日</p> <p> <input type="checkbox" name="youbi[]" value="1" <?php if(strstr($result[4],'1')) echo"checked"; ?>>月 <input type="checkbox" name="youbi[]" value="2" <?php if(strstr($result[4], '2')) echo"checked"; ?>>火 <input type="checkbox" name="youbi[]" value="3" <?php if(strstr($result[4],'3')) echo"checked"; ?>>水 <input type="checkbox" name="youbi[]" value="4" <?php if(strstr($result[4],'4')) echo"checked"; ?>>木 <input type="checkbox" name="youbi[]" value="5" <?php if(strstr($result[4],'5')) echo"checked"; ?>>金 <input type="checkbox" name="youbi[]" value="6" <?php if(strstr($result[4],'6')) echo"checked"; ?>>土 <input type="checkbox" name="youbi[]" value="0" <?php if(strstr($result[4],'0')) echo"checked"; ?>>日 </p> <p>時間</p> <p> <input type="submit" value="設定" /> とやると日曜日を選択してsubmitするとチェックが外れます。なぜでしょうか?

    • ベストアンサー
    • PHP
  • cgiの記述方法について

    よろしくお願いします。 お問い合わせフォームを作成したくhtmlに以下の記述をしました。 やはり、これではフォームは機能しないようで、form action="../・・ にまだ何かを記述する必要があるようなのですが、書籍を見ても解決出来ずに困っております。 どなた様か、ご指導の程よろしくお願いします。 ご指導いただくにあたり、どこまでの説明が必要なのか分からなかったため、このようなご説明になってしまいましたが、よろしくお願い致します。 【html】 <form action="../cgi-user/questionform.cgi" method="post"> <p>お名前 <br /><input type="text" name="メルマガお名前" size="40" /> </p> <p>メールアドレス <br /><input type="text" name="email" size="40" /> </p> <p> <input type=submit value="登録" /> <input type="reset" value="リセット" /> </p> </form>

    • ベストアンサー
    • CGI
  • フォーム情報をDBに追加できない

    はじめまして。 初心者で現在参考書を使ってMYSQL、PHP、HTMLを学習してるんですが フォームの情報をデータベースに格納できません。 (ken1.php) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>県別人口面積その1</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <?php mysql_connect('localhost','root','freedom'); mysql_select_db('lesson'); $sql= "select * from todofuken"; $result = mysql_query($sql); $rows = mysql_num_rows($result); if($rows == 0){ echo "<p>該当データがありません。</p>"; } else { while($row = mysql_fetch_array($result)){ echo "<p>"; echo $row["kenmei"]; echo " "; echo $row["kencho"]; echo " "; echo $row["jinko"]; echo " "; echo $row["menseki"]; echo "</p>"; } } ?> </body> </html> (ken2.html) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>フォーム文</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <p>データを入力してください</p> <form action="ken3.php" method="post" > <p>県   名<input type="text" name="ken" size="40"></p> <p>県庁所在地<input type="text" name="kec" size="40"></p> <p>人   口<input type="text" name="jin" size="40"></p> <p>面   積<input type="text" name="men" size="40"></p> <input type="submit" value="登録"> <input type="reset" value="リセット"> </form> </body> </html> (ken3.php) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>ここにページのタイトルが入る</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <?php error_reporting(E_ALL & ~E_NOTICE); extract($_POST); mysql_connect('localhost','root','freedom'); mysql_select_db('lesson'); $sql = "insert into todofuken values('$ken', '$kec', $jin, $men, 0)"; mysql_query($sql); ?> </body> </html> ブラウザでken2.htmlのフォームにデータを埋め込み、そのデータを DBに追加したいんです。 問題はken2.htmlの登録ボタンを押してken3.php に移動するまでは良いんですが DBにデータが追加されません。 構文は参考書どうりにやっているので間違いないと思うのですが 原因がわかる方どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • 表示の仕方を教えてください!

    最初から鹿児島県が表示されるようにするには if ($ken == "") { echo "<option value=\"\" selected>----</option>"; } else { echo "<option value=\"\">----</option>"; } の-----部分はどうarray文から取り込めばいいのですか?? よろしくお願いします。 現在は下記のようになってます。 ----todoufuken.php------------------------ <?php $todofuken = array( 1 => array("hokkaido","北海道"), 2 => array("tokyo","東京都"), 3 => array("kagoshima","鹿児島県") ); ?> ------------------------------------------- ----ken_select.php------------------------- <?php include('todoufuken.php'); ?> <SELECT size=1 name=ken> <?php if ($ken == "") { echo "<option value=\"\" selected>----</option>"; } else { echo "<option value=\"\">----</option>"; } while ( list(,$p_todofuken) = each( $todofuken ) ) { list(,$p_kenname) = $p_todofuken; if ($p_kenname == $ken) { echo "<option selected>$p_kenname</option>"; } else { echo "<option>$p_kenname</option>"; } } ?> </SELECT>

    • ベストアンサー
    • PHP
  • PHPでのCookie

    PHPでクッキーを使い、下記のような入力フォームを作りました。 form.phpで入力→form2.phpで正常出力出来るのですが、 form2.phpで一度更新しないと、結果が画面に表示されません。 これをform2.phpを開いた時点で表示されるようにするには、どのように書けばいいのでしょう。 後1つあります。form.phpで 「テスト&1」と書くと「テスト」としか表示されなく、&とそれ以降が記憶されません。 これはなぜでしょうか? お願いします。 【form.php】 <?PHP parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); ?> <html> <form method="post" action="form2.php"> <?PHP echo "名前1<input type=text name=name1 maxlength=16 size=12 value=$set_name1> <BR>ID<input type=text name=p1 maxlength=8 size=6 value=$set1><BR><BR>"; echo "名前2<input type=text name=name2 maxlength=16 size=12 value=$set_name2> <BR>ID<input type=text name=p2 maxlength=8 size=6 value=$set2>"; ?> <input type="submit" value="実行"> </form> </html> 【form2.php】 <?php if ($_POST) { $city1 = $_POST["p1"]; $city2 = $_POST["p2"]; $city_name1 = $_POST["name1"]; $city_name2 = $_POST["name2"]; setcookie ("city", "set1=$city1&set2=$city2",time()+3600*24*90); setcookie ("city_name", "set_name1=$city_name1&set_name2=$city_name2",time()+3600*24*90); } parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); echo $set_name1; echo $set1; echo $set_name2; echo $set2; ?>

    • ベストアンサー
    • PHP
  • PHP上でのJavaScript記述について

    PHP上でのJavaScript記述についての質問です。 http://iswebmag.hp.infoseek.co.jp/sample181.html ↑のようなものをPHP上で作成したいと思っています。 そこで、似たようなものを作成してみたのですが、 どうにもうまく動きませんでした。 そこで、試しに上記サイトのサンプルを全てechoで出力するコードを書いてみたの ですが、 それでも動きませんでした。 このスクリプトはPHP上では動作しないのでしょうか? PHPに詳しい方、どうかご教授お願いします。 ソースは以下になります。 --------------------------------------------------------- <HTML> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <HEAD> <TITLE>魅せるホームページ作成講座</TITLE> </HEAD> <BODY> <?php echo '<FORM name="f1">'; echo '<INPUT type="radio" name="cate" onClick="Infoseek()">各種情報 <BR>'; echo '<INPUT type="radio" name="cate" onClick="Rakuten()">買い物<BR>'; echo '<SELECT name="links">'; echo '<OPTION>ラジオボタンを選択</OPTION>'; echo '</SELECT>'; echo '<INPUT type="button" value="リンク先を表示" onClick="goLink()">'; echo '</FORM>'; echo '<SCRIPT language="JavaScript">'; echo '<!--'; echo 'function Infoseek(){'; echo 'document.f1.links.length=4;'; echo 'document.f1.links.options[0].text="Infoseek検索";'; echo 'document.f1.links.options[1].text="Infoseekニュース";'; echo 'document.f1.links.options[2].text="Infoseek天気";'; echo 'document.f1.links.options[3].text="InfoseekTV番組表";'; echo 'document.f1.links.options[0].value="http://www.infoseek.co.jp/";'; echo 'document.f1.links.options[1].value="http://news.www.infoseek.co.jp/";'; echo 'document.f1.links.options[2].value="http://tenki.www.infoseek.co.jp/";'; echo 'document.f1.links.options[3].value="http://tv.www.infoseek.co.jp/";'; echo '}'; echo 'function Rakuten(){'; echo 'document.f1.links.length=3;'; echo 'document.f1.links.options[0].text="楽天";'; echo 'document.f1.links.options[1].text="楽天フリマ";'; echo 'document.f1.links.options[2].text="楽天ブックス";'; echo 'document.f1.links.options[0].value="http://www.rakuten.co.jp/";'; echo 'document.f1.links.options[1].value="http://furima.rakuten.co.jp/";'; echo 'document.f1.links.options[2].value="http://books.rakuten.co.jp/";'; echo '}'; echo 'function goLink(){'; echo 'imax=document.f1.links.length-1;'; echo 'for (i=0 ; i<=imax ; i++){'; echo 'if (document.f1.links.selectedIndex==i){'; echo 'window.open(document.f1.links.options[i].value);'; echo '}'; echo '}'; echo '}'; echo '// -->'; echo '</SCRIPT>'; ?> </BODY> </HTML> ---------------------------------------------------------

    • ベストアンサー
    • PHP
  • MYSQL入門以前という本

    MYSQL入門以前という本を買って勉強を始めた初心者のものです。 書籍の中でMYSQLとPHPを使って住所録を作って行くのですが、どうも自己解決出来ない点があります。 DBにすでに入力済みの氏名、住所、電話番号などを修正する項目において、 echo "<p>氏名:<input type = \"text\" name = \"nam\" value =\""; echo $row["simei"]; echo "\" size = \"40\"></p>"; という記述がありまして、valueの中にレコードから取得したデータを入れ込んでいると解説があるのですが、コードを見てもどこで区切っているのかわかりません>< echo のダブルコーテーションで囲ってあるので textやnameの属性のところの " を \ でエスケープしてるのは分かっていて <input type = \"text\" name = \"nam\" value =\"";echo row["simei"];echo "\" size = \"40\">が一つのHTMLの構文になっているものだと理解しています。 value =\"" ~先がなぜこうなるかわかりません。valueの二個目の"の前に\が付かないのか、それともsizeの直前の"\までがvalueの中身になるのか?それであればその中の記述もおかしいと思うし。。。。 ちょっと初歩的なことで聞くのも恥ずかしかったのですが、どうしてもわからないので教えてください!! お願いします!!!

    • ベストアンサー
    • PHP

専門家に質問してみよう