• 締切済み

phpの表示がおかしいのですが。

phpの基礎をしているのですが、 phpファイルに下記のように書き込み <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"><head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="../style.css"> <title>画面に文字を表示させる</title></head> <body><div class="file2"> <!--ここから form形式で文字を入力します。送り先(action)はこのファイル--> ここに文字を入れて表示ボタンを押してね。<br> <form action="01_01_send.php" method="post"> <input type="text" name="data" size="30"> <input type="submit" value="表示!"></form> <!--ここからPHPが始まります。//--> <?php error_reporting(1); $data = $_POST["data"];/*$dataという変数に、form action で送られた data を代入します*/ $data = htmlspecialchars($data, ENT_QUOTES);//タグを無効化 echo $data;/*画面上に $data すなわち入力された文字を表示します*/ $filepointer=fopen("./send/send.txt", "a+"); flock($filepointer, LOCK_EX); fputs($filepointer, $data."\n"); flock($filepointer, LOCK_UN); fclose($filepointer); ?> <!--これでPHPは終わりです。//--> </div></body></html> phpファイルを保存した場所はc:xammp/htdocs/test/です。htdocs内にtestフォルダを作成しindex.phpファイルとし, http://localhost/test/ で読み込みました。 画像ファイル2のようにnot found objectとなります。 これはローカル環境でするには正常なのでしょうか?それとも何か記述方法が間違っているのでしょうか?説明不足かもしれませんがよろしくお願いします。

みんなの回答

noname#119957
noname#119957
回答No.2

■postによるデータ入力 index.phpに返すということはどいうことなんでしょう。 >>このindex.phpに返したということです。 <form action="01_01_send.php" method="post"> として、 phpの部分のみを01_01_send.phpとして別ファイルに保存すれば、index.htmlのフォームで入力したデータを01_01_send.phpに渡して、ブラウザに表示してファイルに書き込めます。

全文を見る
すると、全ての回答が全文表示されます。
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

画像ファイル2がないですが <form action="01_01_send.php" method="post"> を <form action="index.php" method="post"> にすればいいのでは

botancat
質問者

お礼

本当にありがとうございます。しかも即答で。 この問題でPHPの勉強がさっぱり進みませんでした。 解決しましたので、やっと一歩先に進めます。 index.phpに返すということはどいうことなんでしょう。 基本的なことが理解できていないのでいろいろして見ます。 本当にありがとうございました。

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

関連するQ&A

  • PHPについて

    PHPについて パソコンの面白さにひかれて、PHPの無料講座から勉強をしようと思いましたが、第一歩からつまづきました。年寄りです。よろしくお願いします。 例題のスクリプトをTera Pad に手で入力をしました。間違いがないか何回も(3回)見直し、間違いがないことを確認し、テキストエディタフォルダの中に入れたXAMPPフォルダのhtdocsフォルダの中に名前をつけて保存でtest.phpで保存をしましたが、確認をしてみるとテキスト保存になっていました。 どうすれば、テキストエディタに入力したスクリプトを確認できるのでしょうか? 以下が例題です。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"><head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="../style.css"> <title>画面に文字を表示させる</title></head> <body><div class="file2"> <!--ここからform形式で文字を入力します。送り先(action)はこのファイル--> ここに文字を入れて表示ボタンを押してね。<br> <form action="01_01_send.php" method="post"> <input type="text" name="date" size="30"> <input type="submit" value="表示!"></form> <!--ここからPHPが始まります。//--> <?php /*PHPの楷書を宣言します*/ error_reporting(1); $data=$_POST["data"]; /*$dataと言う変数に、form actionで送られたdateを代入します*/ $data="htmlspecialchars($data.ENT_QUOTES); //タグを無効化 echo $data; /*画面上に $data すなわち入力された文字を表示します*/ $filepointer=fopen("./send/send.txt"."a+"); flock($filepointer.LOCK_EX); fputs($filepointer.$data."\n"); flock($filepointer.LOCK_UN); fclose($filepointer); ?> <!--これでPHPは終わりです。//--> </div></body></html>

    • ベストアンサー
    • PHP
  • 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についての質問です。

    <html><head><META http-equiv="Content-Type" content="text/html;charset=Shift_Jis"></head> <tittle>MD5実験用</title> <body> <hr> <form action="./test_a2.php" method="POST"> <input type="text" name="aaa" value=""> <input type="submit" name="button" value="送信"> </form> </body> </html> 上記のように、現在のページで入力した文字・数値を「test_a2.php」に移動するようにしたのですが、 今回は、現在のページで入力した文字を「MD5」でキャッシュ化してから、「test_a2.php」に送りたいと考えています。 どうしたら、現在のページで入力した文字・数値を「MD5」でキャッシュ化して送れますか?  よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPがHTMLのformの値を受け取らない

    状況: ファイルアップロードを作成しようとしたところPHPがHTMLのformのsubmitした物を受け取らない。 しかしHTML側にjavascriptを読み込ませ XMLHttpRequest によってsendすると受け取れる。 環境: apache 2.2.4 php 5.2.3 ------------HTML <html><body> <form action="test.php" enctype="multipart/form-data"> <input type="text" id="name"> <input type="file" id="file"> </form> </body></html> ------------PHP <?php header('Content-type: text/plain; charset=UTF-8'); print "\$_POST:";var_dump($_POST);print "\n"; print "\$_FILES:";var_dump($_FILES);print "\n"; ?> ------------結果 $_POST:array(0) { } $_FILES:array(0) { } ------------ 原因がphp.iniなのか、httpd.confなのか、はたまたそれ以外に原因があるのかがさっぱり判らず質問しました。 どうやったらHTMLのformの値をPHPで受け取れますか?

  • POSTされた値をEUCで表示したい

    <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

    • 締切済み
    • PHP
  • PHPからファイルアップロードの実現

    ブラウザからファイルをアップロードするように、PHP内で同じことを実現させたいと考えています。 fsockopenを使用してGETやPOSTをすることは実現できていますが、ファイルのアップロードとなると少々勝手が違い、うまいことできません。 現状では下記のようなものを送信させているのですが、受け取り側のPHPで認識できません。 POST /upload.php HTTP/1.0 host: 127.0.0.1 Content-Type: multipart/form-data; boundary=---test Connection: close Content-Length: 120 ---test Content-Disposition: form-data; name="test"; filename="test.txt" Content-Type: text/plain testtest ---test 現状、テスト用に upload.php というので受け取っているのですが、$_FILES 変数は空の状態です。 基本的なところを理解していないので、根本的に間違っていたり、足りないところがあるような気がするのですが…。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • javascript + php でエラー

    エラーを取り除くことができず、困っています。 助けてください。 下記のようなコードで、PHPからjavascriptに文字列を渡しているのですが、 文字列に改行コードがあるとエラーになってしまいます。 (改行コードがない場合はエラーはでません) 文字コードはEUC-JP、改行はLFとしています。 エラーの原因と、対策を教えてください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function sampl(str) { alert(str); } //--> </script> </head> <body> <form method="post" action="#"> <?php $str = "テスト\n改行あり"; ?> <input type="button" value="実行" onClick="sampl('<?=$str?>')"> </form> </body> </html>

  • スマホ用PHP掲示板

    PHPで掲示板を簡易的に作ったのですが スマートフォン(iPhone)にも対応したく思います。 端末用にコーティングするにはどのような記述をしたら良いでしょうか。 【ソース】 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ <html> <head><title>TEST</title></head> <body> <p>掲示板</p> <form method="POST" action="<?php print($_SERVER['PHP_SELF']) ?>"> <input type="text" name="personal_name"><br><br> <textarea name="contents" rows="8" cols="40"> </textarea><br><br> <input type="submit" name="btn1" value="投稿する"> </form> <?php if($_SERVER["REQUEST_METHOD"] == "POST"){ writeData(); } readData(); function readData(){ $keijban_file = 'keijiban.txt'; $fp = fopen($keijban_file, 'rb'); if ($fp){ if (flock($fp, LOCK_SH)){ while (!feof($fp)) { $buffer = fgets($fp); print($buffer); } flock($fp, LOCK_UN); }else{ print('ファイルロックに失敗しました'); } } fclose($fp); } function writeData(){ $personal_name = $_POST['personal_name']; $contents = $_POST['contents']; $contents = nl2br($contents); $data = "<hr>¥r¥n"; $data = $data."<p>投稿者:".$personal_name."</p>¥r¥n"; $data = $data."<p>内容:</p>¥r¥n"; $data = $data."<p>".$contents."</p>¥r¥n"; $keijban_file = 'keijiban.txt'; $fp = fopen($keijban_file, 'ab'); if ($fp){ if (flock($fp, LOCK_EX)){ if (fwrite($fp, $data) === FALSE){ print('ファイル書き込みに失敗しました'); } flock($fp, LOCK_UN); }else{ print('ファイルロックに失敗しました'); } } fclose($fp); } ?> </body> </html> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ ご教示の程宜しくお願い致します。

    • ベストアンサー
    • PHP
  • php -> javascript 変数渡し

    tempフォルダにtest.txtファイルが存在すれば、 fileフォルダaaa.txtファイル名をbbb.txtファイルに変更という流れです。 変更ボタンをクリックすると、値を$testdataに渡し、ファイル有無をチェックし、ある場合は変数をjavascriptに渡すしますphpの所は問題ありませんが、 javascript処理の所がどうしてもうまくいきません。変数渡しができません。 ネット上でいろいろ調べてみましたがすべてダメでした。 ぜひ、よろしくお願いいたします。 下記はそのコードです。 ファイル名test.php <? $testdata = $_GET["testdata"]; $filename = "C:\\xampp\\htdocs\\test\\file\\temp\\".$testdata; if(file_exists($filename)){//ある場合、変数をjavascriptに渡す $testdata_script = $testdata; }//ここまでは問題ありません。 ?> <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>テスト</title> <script type="text/javascript"> <!-- function test(file) {       obj = new ActiveXObject('Scripting.FileSystemObject'); var name = '<?php echo $testdata_script ;?>'; alert(name); strMoveFrom = 'C:\\xampp\\htdocs\\test\\file\\aaa.txt'; strMoveTo = 'C:\\xampp\\htdocs\\test\\file\\bbb.txt'; obj.MoveFile(strMoveFrom ,strMoveTo ); obj= null } //--> </script> ...省略 <form action=test.php method=get accept-charset=UTF-8> <input type=submit value=変更 onclick=test('file')> <input type=hidden name=testdata value="test.txt">

  • PHP4.1でファイル読み込みできない

    次のような方法でファイルの読み込みをしていますが、4.1の環境だと右上の地球アイコンが回りっぱなしでページが表示されなくなります。 $fo=@fopen($data_file,"r") or err("データファイルを読み込めません"); flock($fo, LOCK_EX); $i=0; while(!feof($fo)){ $text_buff=fgets($fo); if(trim($text_buff)){ $buff[$i]=$text_buff; } $i++; } flock($fo, LOCK_UN); fclose($fo); file関数で読み込んだら問題なかったので、現在はfile関数を使っていますが、どのコマンドが問題なのかわかりません。 file関数だとfilelockされないので、同時アクセスされた場合データの破壊があると聞いておりますのでできればfopenで処理したいと考えています。 php.iniなどで回避可能なのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
DCP-J767N PCへのUSB接続で印刷不可
このQ&Aのポイント
  • PCへのUSB接続で印刷できない問題が発生しています。
  • 無線LAN接続では問題なく印刷できるが、一時的に無線LAN環境がなくなるため困っています。
  • 使用環境はWindows 10でUSBケーブル接続しています。関連するソフトやアプリは特にありません。インターネット接続は光ファイバーを利用しています。
回答を見る