• ベストアンサー

php内で文字の入力

phpのプログラムを改造しています。 データ表示部分で"もしこのデータが無ければ非表示"というのを実現したいです。 現状はこのようになっています。 <?php echo sprintf(TEXT_LIST_LOCATION); ?>:<?php echo stripslashes($product_info['products_location']); ?><BR> これを「もし、"$product_info['products_location']);"があれば、"TEXT_LIST_LOCATION : $product_info['products_location']<BR>"を表示する」としたいです。 単純に <?php if($product_info['products_latinnane']) { echo sprintf(TEXT_LIST_LATINNAME);  : echo stripslashes($product_info['products_latinnane']); <BR> } ?> としてみましたが、何も表示しなくなってしまいました。 この場合、":"や"<BR>"はどのように記述したらよいでしょうか?

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

  • ベストアンサー
  • emriv
  • ベストアンサー率83% (5/6)
回答No.1

複数の方法があるのですが単純なものを2つ書きます。 1.PHPの中で書く場合 <?php if($product_info['products_latinnane']) { echo sprintf(TEXT_LIST_LATINNAME); echo " :"; echo stripslashes($product_info['products_latinnane']); echo"<BR>"; } ?> という風に中で「ここは文字列です」とクォーテーションをつけてあげて出力してください。 <?php ?>の中で普通に書くとPHPの命令だと思って読み込んでしまいます。 2.HTMLで表示 <?php if($product_info['products_latinnane']) { echo sprintf(TEXT_LIST_LATINNAME); ?>  : <?php echo stripslashes($product_info['products_latinnane']); ?> <BR> <?php } ?> という風にHTMLの前で一端<?php を ?> で閉じてください。 お好みでどうぞ。

master-3rd
質問者

お礼

返答ありがとうございました。 echo"<BR>"; の方法で無事出来ました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

<?php ?>の中にはHTMLは直接書けません。 <?php ... ?>;<?php ... ?><br><?php ... ?> もしくは print ";"; ... print "<br>";

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPの入力フォームの確認画面の構文エラー

    <?php session_start(); require_once "define.php"; echo "<b>質問内容</b><br>"; echo "タイトル : ".htmlspecialchars($_SESSION[TITLE], ENT_QUOTES)."<br>"; echo "URL : ".htmlspecialchars($_SESSION[URL], ENT_QUOTES)."<br>"; echo "メール : ".htmlspecialchars($_SESSION[MAIL], ENT_QUOTES)."<br>"; echo "<br>質問ありがとうございました。<br><br>"; echo "<a href=\"./index.php\">入力フォームに戻る</a>"; ?> こういう感じのPHPの構文を書いたんですがなぜか echoで表示してあるタイトル、URL、メールのところが ちゃんと表示されません define.phpは間違いなくちゃんとファイルとして書いてあります どこか間違っているところがあるのでしょうか? 原因がわかりません、一日中悩んだけど 答えがわかりません、どなたかよろしくお願いします。

    • 締切済み
    • PHP
  • PHPである商品のときだけ、リンク先を変える方法

    いつもお世話になっております! 初心者な質問で申し訳ないのですが、 下記のPHPは、商品名のところに指定される、リンク先を 定義しているものなのですが、このとき、 商品IDが35と36番のときだけ、別のURLに飛ばしたいのです。 (http://domainname.com/hogehoge/item1.html など) IFで定義しないといけないと思うのですが、 何分初心者のため、どのように挿入すればいいかがわかりません。 ご教授お願いいたします!!! for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { $lc_align = ''; switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_align = ''; $lc_text = $listing->fields['products_model']; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; if (isset($_GET['manufacturers_id'])) { $lc_text = '<h3 class="itemTitle"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . $listing->fields['products_name'] . '</a></h3><div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '</div>' ; } else { $lc_text = '<h3 class="itemTitle"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . $listing->fields['products_name'] . '</a></h3><div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '</div>'; } break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = '<a href="' . zen_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing->fields['manufacturers_id']) . '">' . $listing->fields['manufacturers_name'] . '</a>'; break; case 'PRODUCT_LIST_PRICE': $lc_price = zen_get_products_display_price($listing->fields['products_id']) . '<br />'; $lc_align = 'right'; $lc_text = $lc_price;

    • ベストアンサー
    • PHP
  • phpでのリンク

    PHP初心者なのですが、教えて下さいm(__)m プルダウンでの選択史を選ぶと次にまた選択史を表示させたいのですが、PHPを勉強したばかりなのでスマートにソースを書くことができません。 ↓のような感じで一応できたのですが、これはおかしいと言われました。 PHPなのになぜ、リンクのところだけがHTMLになっているの?と。 言われてみればそうなのですが、これ以外よく分からなくて…。 色々調べたのですが、上手くいきませんでした。 <A href="data/hoge.php"><? echo ($hoge_data[0]); ?></A><BR> <A href="data/hoge_1.php"><? echo ($hoge_data[1]); ?></A><BR> : : : このおかげで<hoge.php>、<hoge_1.php>…といっぱい必要になってきてしまい…。 何かスマートな方法はありますでしょうか? 宜しくお願い致しますm(__)m

    • ベストアンサー
    • PHP
  • phpがうまく動きません。

    phpで4択のクイズを作りたいのですが 正解のラジオボタンを選んでもカウントされないのと 答え合わせを押すと正解だった箇所を赤く表示したいのですがなんて書けばよいのか どこにそのコードを入れるのかよくわかりません <状態> ・5つのデータがmyadminに保存されています ・データベースの内容は表示されます。 ・答え合わせを押すと正解のラジオボタンを選んだ数が表示されるようにしたいです ・保存ボタンは閉じても答えを保存するためにあります ・q_noは8ケタ固定であり、左から5つ目までは固定であと3桁は999問入れられるよう設定してあります ・q_ansはデータベースに答えの値(1~4)が入れてあります ・データベース名はproblemです <省略> $res_set = mysql_query($sql); while ($row=mysql_fetch_array($res_set)){ ?> <form method="POST" action="H2102.php"> <?php echo $row['q_no'] . " "; ?> <br> <?php echo $row['q_text'] . " "; ?><br><br> <br> <?php echo "ア"; ?> <input type="radio" name="q_ans" value="1"> <?php echo $row['q_point1'] . " "; ?> <br><br><br> <?php echo "イ"; ?> <input type="radio" name="q_ans" value="2"> <?php echo $row['q_point2'] . " "; ?> <br> <br><br> <?php echo "ウ"; ?> <input type="radio" name="q_ans" value="3"> <?php echo $row['q_point3'] . " "; ?> <br><br><br> <?php echo "エ"; ?> <input type="radio" name="q_ans" value="4"> <?php echo $row['q_point4'] . " "; ?> <br><br><br> <br> <input type = "submit" name="save" value="保存"> <?php if(isset($_POST['save'])){ $_SESSION['save'] = $_POST['q_ans']; //保存すると選んだ回答を保存 } ?> <?php } ?> </form> <form method="POST" action="H2102.php"> <input type = "submit" name="ans" value="答え合わせ"> <?php //正解かどうかをチェック if(isset($_POST['ans'])){ $a = $_SESSION['a']; if($row['q_no'] == $_POST['q_no'] && $_POST['q_ans'] || $_SESSION['save'] == $row['q_ans'] ){ $_SESSION['a'] = $a + 1; //q_noが一致かつ保存した値または選んだ解答(値)が一致していれば1問につき1つカウントする $a = $_SESSION['a']; } echo $a; //カウントされているかをチェック } ?> <input type = "submit" name="del" value="カウント初期化"> <?php if(isset($_POST['del'])){ session_unset(); } ?> </form> <br> <?php } ?> 足りない情報があれば追記します

    • 締切済み
    • PHP
  • php修正について

    下記のPHPを書いています。 表示したときに_(/)されて文字と日付が出ないといけないのですが? 正しい表示は 強豪ぞろいの天皇賞ー武は1枠で波乱倍増??? (10/27)です。 Mysqlはデータは入っています。 教えてください。 <?php do { ?> <BLINK><IMG src="list.gif" width="13" height="13" border="0"></BLINK><FONT color="#cc00cc"><a href="blog_02.php?id=<?php echo $row_rs_blog_02['id']; ?>"><?php echo mb_substr($row_rs_blog_02['title'],0,30); ?> <?php if (mb_strlen($row_rs_blog['title']) >= '30') { echo('…'); } ?> </a><?php echo "("; echo substr($row_rs_blog_02['date'], 4,2); echo "/"; echo substr($row_rs_blog_02['date'], 6,2); echo ")"; ?></FONT><br> <br> <?php } while ($row_rs_blog_02 = mysql_fetch_assoc($rs_blog)); ?>

    • ベストアンサー
    • PHP
  • PHP5によるデバックについて

    初心者です。 以前PHP4を使っていたときにプログラムでエラーがあると Parse errorやNoticeなど表示され、さらに間違えているlineまで 教えてくれていたと思うのですが、PHP5では表示されません。 例えば以下をやると最後のechoだけNoticeが出力されていたのになにも表示されません。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>無題ドキュメント</title> </head> <body> <?php $last_name = "山田"; $first_name = "太郎"; echo "$last_name $first_name<br>\n"; echo "$full_name"; echo "$first_name&花子は仲良しです。<br>\n"; echo "$first_nameと花子は仲良しです。<br>\n"; ?> </body> </html> デバッグできないで困っております。 なにかご存知の方、いらっしゃいますか?

    • ベストアンサー
    • 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ファイルとテンプレートファイルの書き方

    <?php // ファイル名 $fname = "test.csv"; // ファイルを開く $file = fopen($fname, "r"); // 全データを出力する while (list($id, $name, $add) = fgetcsv($file, 1000, ",")) { echo "<hr>"; echo "<br>ID:".$id; echo "<br>名前:".$name; echo "<br>住所:".$add; } // ファイルを閉じる fclose($file); ?> <質問> 上の内容をSmartyを使ってPHPファイルとテンプレートファイルに分離したい。 テーブルにCSVファイルのデータが入るようにしたい。 PHPファイルとテンプレートファイルの書き方を教えてください。

    • 締切済み
    • PHP
  • phpの入力値の渡し方

    ループでテキストボックス、セレクトボックスを作成しそれぞれのコントロールに入力した値を別phpファイルに渡すことを考えています。 ループではなく一個一個テキストボックスを作れば個々のname属性をpostすればいいと思うのですがループの場合、それぞれの入力値をどのように渡せばいいかわかりません。 <test.php> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="style.css" type="text/css" /> <meta name="viewport" content="width=device-width"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>勤怠データ入力</title> </head> <script type="text/javascript"> function myEnter(){ myRet = confirm("入力画面を閉じてよろしいですか?"); } </script> <body> <div id="name"> <table> <tr style="text-align:center; background-color:#DDEBF7;"> </tr> <form name = "Data" action="foo.php" method="POST"> <tr style="text-align:center;"> </tr> </table> </div> <div id="button"> <input type="submit" name ="touroku" value="登録更新" style="margin-right:30px;" /> <input type="submit" value="戻る" onclick="myEnter()" /> </div> <div id="calendar"> <table style="text-align:center;"> <tr style="text-align:center; background-color:#DDEBF7;"> <td style="width:20px;">日</td> <td>開始時間</td> <td>終了時間</td> <td>入力1</td> <td>入力2</td> <td>入力3</td> </tr> <tr><!--1日--> <?php $day = 1; while ($day < 32){ ?> <td><input type="text" readonly value="<?php echo $day ?>" style="width:20px;"</td> <td><select name="start_time" > <option value="0" > 0</option> <option value="1" > 1</option> </select> : <select name="start_minute"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><select name="end_time" > <option value="0" >0</option> <option value="1" >1</option> </select> :<select name="end_minute"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><input type="text" name = "nyuryoku1" value="" style=width:150px></td> <td><input type="text" name = "nyuryoku2" value="" style=width:150px></td> <td><input type="text" name = "nyuryoku3" value="" style=width:150px></td> </td> </tr> <?php $day++; } ?> </form> </body> </html> <foo.php> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <?php $s_hour = ($_POST['start_time']); $s_minutes = ($_POST['start_minute']); $e_hour = ($_POST['end_time']); $e_minutes = ($_POST['end_minute']); $data1 = ($_POST['nyuryoku1']); $data2 = ($_POST['nyuryoku2']); $data3 = ($_POST['nyuryoku3']); $s_time = ($s_hour.$s_minutes); $e_time = ($e_hour.$e_minutes); echo '開始時間'; echo $s_time; echo '終了時間'; echo $e_time; echo '入力1'; echo $data1; echo '入力2'; echo $data2; echo '入力3'; echo $data3; ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>無題ドキュメント</title> </head> <body> テスト実行 </body> </html>

    • ベストアンサー
    • PHP
  • php を使用しての入力チェック方法

    ドロップダウンリストで選択された値が $menu に入りそれを php を使用して(必須) 入力チェックを行い、NGならば警告メッセージを表示・・・ という事をしたく、preg_match 等を使って色々試行錯誤してるのですが 入力チェックの部分で上手くいきません。 なぜこのような事をしようとするのか・・・? の理由は下記のサイト 【 ホームペーシの改ざんを阻止するには? 】 http://www.starthp.com/kaizan.htm を見たもので・・・ ドロップダウンリストのソースは下記のようになっております。 php でのチェック方法についてどなたがご教示お願い致します。 <?php /* ****************************************************************** 確認時エラー等でフォーム画面に戻った時に入力した情報が消えない設定 ドロップダウンリスト用 ****************************************************************** */ function MenuValue($v,$r) { if(!empty($_POST[$v])) { if($_POST[$v] == $r){ return " selected='selected'"; } } } echo 'お問い合わせ内容のカテゴリ<br>'."\n"; echo '<select name="menu" id="menu">'."\n"; echo '<option value="未選択"'.MenuValue("menu","未選択").'>▼選択して下さい</option><br>'."\n"; echo '<option value="東京"'.MenuValue("menu","東京").'>東京 - Tokyo</option><br>'."\n"; echo '<option value="千葉"'.MenuValue("menu","千葉").'>東京 - Chiba</option><br>'."\n"; echo '<option value="埼玉"'.MenuValue("menu","埼玉").'>埼玉 - Saitama</option><br>'."\n"; echo '<option value="群馬"'.MenuValue("menu","群馬").'>群馬 - Gunma</option><br>'."\n"; echo '<option value="海外"'.MenuValue("menu","海外").'>海外 - Kaigai</option><br>'."\n"; echo '</select>'."\n"; ?>

    • ベストアンサー
    • PHP