PHPプログラムが動かない!考えられる原因とは?

このQ&Aのポイント
  • 本の通りに書いたPHPのプログラムが動かなくて困っています。IEやFirefoxで実行してもテキストエリアが<?=$message?>となっていて、<html>から上の部分が動作していないようなのです。考えられる原因を教えてください。
  • 本の通りにPHPのプログラムを作成し、IEやFirefoxで実行していますが、テキストエリアが<?=$message?>となっていて、<html>から上の部分が動作していないようです。動かない原因を教えてください。
  • PHPのプログラムを本の通りに作成しましたが、IEやFirefoxで実行すると、テキストエリアが<?=$message?>となり、<html>から上の部分が動作していないようです。どのような原因が考えられるでしょうか?
回答を見る
  • ベストアンサー

本の通りに書いたphpのプログラムが動かなくて困っています。

本の通りに書いたphpのプログラムが動かなくて困っています。 <?php if (isset($_POST["start"])) { $uranai_data[] = "大吉です。\nいい日になりそうです。"; $uranai_data[] = "中吉です。\nいつもよりいいことが起こりそうです。"; $uranai_data[] = "吉です。\nよくもなく悪くもない日です。"; $uranai_data[] = "末吉です。\n運気が少し下がり目です。気をつけましょう。"; $uranai_data[] = "凶です。¥n今日は控えめな行動をとりましょう。"; $max = count($uranai_data) - 1; $result = rand(0,$max); $message = "あなたの運勢は…" . $uranai_data[$result]; } else { $message = "あなたの運勢をチェックしましょう。"; } ?> <html> <head> <title>おみくじプログラム</title> </head> <body> <h2>今日のおみくじ</h2> <h4>「おみくじを引く」ボタンをクリックすると結果が表示されるよ。</h4> <form action="omikuji.php" method="post"> <textarea name="result" rows="5" cols="40"><?=$message?></textarea> <br /> <input type="submit" name="start" value="おみくじを引く" /> </form> </body> </html> これをieやfirefoxでhttp://localhost/omikuji.phpで実行しても テキストエリアが<?=$message?>となっていて<html>から上の部分が動作していないようなのですが考えられうる原因を教えてください。

noname#151406
noname#151406
  • PHP
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

PHPの設定で、short_open_tag が無効になっているのでしょう。 phpinfo();で確認してみてください。 Offになっているようなら .htaccessにて php_value short_open_tag On で。

noname#151406
質問者

お礼

ありがとうございました。offになっていました。自力で調べましたが全くの初心者なので.htaccessをどこに置いたら内容が反映されるのか全く分からないので、たぶんまた質問を投稿します。

その他の回答 (2)

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.3

#ANo2 訂正。タブが詰まってしまった。 short_open_tagOn >> short_open_tag On 

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

phpは起動してる?

noname#151406
質問者

お礼

起動確認しました。上記の方の指摘が正しいようです。ありがとうございました。

関連するQ&A

  • phpファイルに書いたhtmlソースが表示される

    php側で用意した変数にhtmlタグと合わせて $tempHTML=<tr><td>$data1</td><td>$data2</td></tr>"; のように文字列を代入して、表形式でデータを表示させようとしているのですが、 なぜかhtml部分のソースのみがブラウザに表示されてしまいます。 ファイル名"search_result.php" --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> <?php 処理の記述 ?> </script> </body> </html> --------------------------- と書いて実行させると、 --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> </script> </body> </html> --------------------------- と表示され、phpの記述(<?php・・・?>)以外のソースがまるまるブラウザで表示されてしまいます。 しかも肝心の処理結果も表示できません。 どなたか原因が分かる方がいらっしゃったら教えていただけますか?

    • ベストアンサー
    • PHP
  • PHPでメールを送信するには

    PHP超初心者です。 参考本をもとにPHPでメールを送信するということにチャレンジしているのですが、次のような文章が出ます。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\Apache Group\Apache2\htdocs\php10\mail.php on line 11 エラー:送信に失敗しました 参考本に書いてあるとおり、 php.iniのSMTP=localhost を自分が使っているoooooo@ocn.ne.jpに書き換え、sendmailには自分の別アドレスを記述したのですが。 11行目のエラーも何を指しているのかわかりません。 ご回答よろしくお願いします。 【mail.php】 <html> <head><title>mail.php</title></head> <body> <?php $address=$_POST['address']; $subject=$_POST['subject']; $message=$_POST['message']; $header="Content-Type:text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address, $subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header)){ print("送信完了しました。"); }else{ print("エラー:送信に失敗しました"); } ?> </body> </html> 【mail_form.html】 <html> <head><title>メールの送信</title></head> <body> <h2>メールの送信</h2> <form action="mail.php" method="post"> 宛先:<input type="text" name="address"><br /> 件名:<input type="text" name="subject"><br /> 本文:<br /><textarea name="message" rows="5" cols="30"></textarea><br /> <input type="submit" value="送信"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • phpでfopen()やfputs()が使えない

    CGIを使ってやりたいことがあり、PHPを独学で学び、レンタルサーバーで実験をしているのですが、fopen()やfputs()をつかうとエラーのようになります。 これがそれです。 http://pgc.sub.jp/form.php サーバーはlolipopというところを使っているのですが、こちらのほうが許可していないということでしょうか。 ソースは以下のようになります。 <html> <head> <title>実験掲示板</title> </head> <body> <h1>実験掲示板</h1> 書き込む内容を入力してください。<hr> <form name="form" action="./sample01.php" method="POST"> <input name="body" type="text" size="40"> <input type="submit" value="書込"><hr> </form> <?php $data = file("./data.txt"); for($i=0; $i<sizeof($data); $i++){ print "記事NO.${i}:${data[$i]}<br>\n<hr>"; } ?> </body> </html> <?php $body = $_REQUEST["body"]; $body = $body."\n"; ?><html> <head> <title>Sample01</title> </head> <body> <?php $fp = fopen("./data.txt","a"); fputs($fp,$body); fclose($fp); echo "書き込み完了<br>", "<a href=\"./form.php\">戻る</a>"; ?> </body> </html> プラス空のdata.txtファイル また、大学のPCを使用しているのですが、 http://localhost/ をすると 「Connection Failed」となってしまい、localhostでの実験ができません。これは大学側が禁止しているためでしょうか?研究室のものですので、IPアドレスはそれぞれに割り当てられているのですが。

    • ベストアンサー
    • PHP
  • フォームからのデータ送信について

    プログラミングの初心者です。 以下のソースでフォーム画面を作成しました。 これでデータベースへの書き込みができるのかどうかを教えてください。 よろしくお願いします。 <head> <script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.MSG.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(Rsei); document.writeln(strMSG); document.writeln('<br>\n<br>\n<input type="submit" value="送 信"> '); document.writeln('<input type="button" value="修 正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見お聞かせください<br> <textarea name="MSG"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form> </body> send_data.phpは以下の通りです。 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("test",$con); $sql = "insert into table(msg) values('$_POST[MSG]')"; $result = mysql_query($sql,$con); mysql_free_result($result); mysql_close($con); ?> <html> <head><title>送信終了</title></head> <body>送信完了しました</body></html>

    • ベストアンサー
    • PHP
  • phpの掲示板で新しい順に表示したい

    php初心者です。 phpで掲示板を作っています。 新しい順に表示したいのですが、やり方がわかりません。 古い順に表示するやり方はわかるのですが、どうやったらよいでしょうか。 古い順のソースです <html> <head> <title>一行掲示板</title> </head> <body> <h2>一行掲示板</h2> 書き込む内容を入力してください。<hr color="black"> <form name="form" action="./sample01.php" method="POST"> タイトル      <input type=text name="title" action="./sample01.php" size="30" method="POST"><br><br> 名前          <input type=text name="namae" action="./sample01.php" size="30" method="POST"><br><br> メッセージ  <textarea name="body" rows="5" cols="50"></textarea> <input name="write" type="submit" value="書込"> <input name="write" type="reset" value="リセット"><hr> </form> <?php $data = file("../php/test1.txt"); for($i=0; $i<sizeof($data); $i++){ print "タイトル.${i}:<br>\n名前.${i}:<br>\n記事NO.${i}:${data[$i]}<br>\n<hr>"; } ?> <br> <a href="../phpcollect/index.html">トップページへ</a> </body> </html> どうかわかる方おりましたらご教授お願いします。

    • 締切済み
    • PHP
  • phpのプログラミング

    phpの事について質問があります。 画像をアップロードしてデーターベースに画像のパスを入れるプログラミングに挑戦中なのですが、 うまくいかないので詳しい方アドバイスお願い致します 作っているプログラミングの流れは 1の画面で画像選択とコメントの入力 2の画面で画像の確認とコメントの確認 3の画面で『登録しました』の文言の表示とサーバへの書き込み (今回は3の画面では確認の為echo文で飛んでいるかどうかの確認のみ行っております) ちなみにアップロードはうまくいっており、uploadsというディレクトリーを作ってそこに画像をUPしております を考えているのですが、 2画面でinput typeのhiddenを使ってコメントと画像のパスを3の画面に飛ばそうと思っているのですが、 コメントは3の画面に飛んでいるのに、画像のパスが3の画面に飛んでないみたいです、画像のパスはinput typeのhidden で飛ばす事は出来ないのでしょうか? プログラミング以下のような感じです 2の画面 confirm.php <!DOCTYPE html> <html> <head> <meta charset=UTF-8" /> <title>確認画面</title> </head> <body> <h3>以下の内容で登録しますか?</h3> <?php $message=$_POST['message']; ?> <form action="entry.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <input type="hidden" name="upload_name" value="<?php echo $upload_name; ?>"> メッセージ <?php echo $message;?><br /> 画像 <?php $file_name = $_FILES['filename']['name']; $file_type = $_FILES['filename']['type']; $temp_name = $_FILES['filename']['tmp_name']; $dir ='uploads/'; $upload_name = $dir.$file_name; $result = move_uploaded_file($temp_name,$upload_name); ?> <br /> <?php if($result){ echo'■アップロード成功'; $image_size =getimagesize($upload_name); } else{ echo'■アップロード失敗'; } ?> <?php echo $upload_name;?> <input type="submit" value="登録する"> </form> </body> </html> 3の画面 entry.php <!DOCTYPE html"> <html> <head> <meta charset=UTF-8> <title>登録画面</title> </head> <body> <?php echo $_POST['message']; ?> <?php echo $_POST['upload_name']; ?> </body> </html>

    • ベストアンサー
    • PHP
  • phpでメール送信

    phpでメール送信を行ってもメールが来ません。 普通のメールアドレスです。使っているサーバーはちゃんとphpが つかえるようです。ソースは下記です。訂正するところなどありまし たらよろしくお願いします。 ソース:(ホーム)<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>sample</title> </head> <body> <form action="1.php" method="post"> ホームページの名前:<br> <input type="text" name="subject" size="30" value=""><br> ホームページのアドレス:<br> <input type="text" name="name" size="30" value=""><br> メールアドレス:<br> <input type="text" name="mail" size="30" value=""><br> ホームページの紹介文:<br> <textarea name="message" cols="30" rows="5"></textarea><br> <br> <input type="submit" value="送信する"> </form> </body> </html> 送信側:<?php mb_language("Japanese"); mb_internal_encoding("SHIFT-JIS"); $message = "ホームページのアドレス:" . $_POST["name"] . "\nホームページの紹介文:" . $_POST["message"]; if (!mb_send_mail("めーるアドレス@メールアドレス.jp", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("メールの送信に失敗しました。"); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>sample</title> </head> <body> <p>メールが送信されました。</p> </body> </html>

  • phpのメール送信での質問になります

    メールとお問い合わせ内容は届くのですが、名前とアドレスが届かないので間違っている箇所を教えていただけるとありがたいです。 以下コードになります。 html <body> <main> <section> <h2>お問合せ内容の確認</h2> <form action="mailto.php" method="post"> <div class="contant-area"> <div class="label-container"> <label class="item intem-name">名前</label> <label class="item item-email">メールアドレス</label> <label class="item item-message">問い合わせ内容</label> </div> <div class="text"> <p class="item-post" name="name"><?php echo $_POST["name"]; ?></p> <p class="item-post" name="email"><?php echo $_POST["email"]; ?></p> <textarea class="item-post item-textarea" name="message"><?php echo $_POST["message"]; ?></textarea> </div> </div> <div class="button-area"> <input type="submit" value="送信"> </div> </form> </section> </main> </body> php <?php // フォームデータの取得 $name = $_POST[&#039;name&#039;]; $email = $_POST[&#039;email&#039;]; $message = $_POST[&#039;message&#039;]; // 送信先のメールアドレス $to = &#039;*****@gmail.com&#039;; // 件名 $subject = &#039;お問い合わせがありました&#039;; // メール本文 $body = "名前: $name\n"; $body .= "メールアドレス: $email\n"; $body .= "問い合わせ内容:\n$message"; // 送信元のメールアドレスと名前 $from = &#039;*****1690.xsrv.jp&#039;; $fromName = &#039;お問い合わせフォーム&#039;; // ヘッダー $headers = "From: $fromName <$from>"; // メール送信 $mailResult = mail($to, $subject, $body, $headers); ?>

    • ベストアンサー
    • PHP
  • php $_SESSIONで値が消える。

    いつもお世話になり誠にありがとうございます。 標記の件。 インプット画面ー>確認画面ー>戻るー>インプット画面 インプット画面に戻った時、どうしても最初のインプット画面で打った内容が消えてしまいます。 プログラムを診て、誤りを指摘して頂けないでしょうか? どうぞよろしくお願い致します。           記 <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['email'] = $_POST['email']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['email'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!DOCTYPE html> <html lang="ja"> <head> </head> <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){ ?> <form method=post> お名前(ニックネーム)<br> <input type="text" name="name" value="<?php echo $_SESSION['name'] ?>"><br> Eメール<br> <input type="email" name="email" value="<?php echo $_SESSION['email'] ?>"><br> カテゴリー<br> <input type="text" name="category" value="<?php echo $_SESSION['category'] ?>"><br> 本文<br> <textarea style="font-size:1.5em;" cols="30" rows="80" name="message"><?php echo $_SESSION['message'] ?></textarea><br> <input type="submit" name="confirm" value="確認" /> </form> <?php }else if( $mode=='confirm'){ ?> <!--確認画面--> <form method="post"> <?php echo $_SESSION['name']?><br> <?php echo $_SESSION['email']?><br> <?php echo $_SESSION['category']?><br> <br> <?php echo nl2br($_SESSION['message'])?><br> <input type="submit" name="back" value="戻る"/> <input type="submit" name="send" value="送信"/> } </form> <?php } else { ?> <!--完了画面--> <?php } ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPについて

    PHPについて。 現在このような形でパスワードを作っております <html> <head> <title>form</title> </head> <body> パスワードを入力してください。 <form name="form" action="./sample04.php" method="POST"> <input name="pass" type="text"> <input type="submit" value="ログイン"> </form> </body> </html> ↑HTMLの文面↑ <?php // パスワードを設定する。 $pass = 1234; // form.htmlからのパスワードを受け取る $form_pass = $_REQUEST["pass"]; ?> <html> <head> <title></title> </head> <body> <?php // form.htmlからの値が$form_passと等しいか評価する if($form_pass == $pass){ echo "ログイン成功<br>", "<a href=\"./top.html\">進む</a>"; }else{ echo "ログイン失敗<br>", "<a href=\"./index.html\">戻る</a>";} ?> </body> </html> 質問はパスワードを複数作りたいのですが・・・ どうすればいいですか?PHPにはあまり詳しくないので・・・

    • 締切済み
    • PHP