• ベストアンサー

初心者です。apache上のPHPで問題が起きまし

た。 Ubuntu64bitです PHPをapacheで使うとソースコードが表示されて正常な処理ができません echo"のような言語構造的な簡単なものやecho file_get_contents(が動きました) しかし変数を使うとダメみたいです。 前に適当にPHPの拡張機能をパッケージからインストールしまくっていたので PHPがダメだとは思うのですが対処方法がさっぱりわかりません 両方悪い可能性も考えると初心者の手にはおえません

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

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

> 入力フォームにURLを入力すると何も起こりません。 ただ単に、闇雲に動かそうとしているだけで、動作のストーリーも考えていないでしょう。 あるphpでどのようなhtmlを表示し、 そこで何を入力したら、どのphpソースを動作させるか、 その結果何が表示されるはずだ… 全く考えていないし設定していないのではないでしょうか。 プログラムになっていないと思います。 ただコピーして動かす…これではダメです。 コピーして動かすと、どのような動作をするはずだ…最低限これが頭にないといけません。 どうしたいかも無いのに、どうすれば良いかなどという答えは存在しません。 最初はhtmlだけで始めてもいいでしょう。 そこのフォームに入力して、どのphpソースを動かすか(どうしたら指定するphpが動くか)、 何を入力したら何をphpで表示するか、 そのようなポイントを押さえて学習したらいいでしょう。 phpソースを動作するのはurlの指定だけではないということです。

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

その他の回答 (2)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

> それも動きませんでした。 分かって頂けなかったようですが、「動きませんでした」という意見は参考になりません。 このような表示が出た、という結果が情報になります。 ざっと見て、細かいところはチェックしていないけど、 formが何故bodyの外ですか?

syosinsyades
質問者

お礼

回答ありがとうございました

syosinsyades
質問者

補足

確かにおかしかったです。修正しました でもそれ以上に深刻な問題を見つけました。 オフィスとテキストエディタで開いてみたら同じファイルでも ソースの内容が違いました。 もしかしてPHP専用のエディタを使わないとダメってことですか? サーバエラーはコードの間違いが原因でした。 あと具体的な症状はhtmlは正常に表示されますが入力フォームに URLを入力すると何も起こりません。 今回のコードです <?php if(isset($_POST['send'])){ print file_get_contents($_POST['send']); exit; } ?> <html> <head><title>phpform練習</title></head> <body> <from action="" method="POST"> <input type="text" name="send"> <input type="submit" value="送信"> </from> </body></html>

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

失礼ながら、その初心者が判断した内容で推測するのは不可能です。 具体的な情報が必要です。 > echo file_get_contents(が動きました) ソースと表示結果が必要。 > しかし変数を使うとダメみたいです。 ソースと表示結果が必要。 動いているソースがあるのに、ApacheかPHPの設定に異常が あるという発想が飛躍ではないでしょうか。 私はソースから疑います。

syosinsyades
質問者

お礼

回答ありがとうございました

syosinsyades
質問者

補足

知恵袋で質問した時にカテマスの方がソースコードのお手本をくれましたが、それも動きませんでした。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10115318905 今回サーバエラーが起きたソースは <?php $send =$_POST['send']; if(isset($send)){echo file_get_contents('$send')}; ?> <html> <head></head><body></body> <from action="" method="POST"> <input type="text" name="send"> <input type="submit" value="oo"> </from> <html> なにがいけないのでしょうか?

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

関連するQ&A

  • PHP 変数 aタグで囲いたい

    失礼します。echo の中の変数をaタグで囲いたいのですがやり方がわかりません。 よろしくお願いします。 foreach($files as $file_path => $file_info) { if (!$file_info->isFile()) { continue; } echo 'file path : ' .$file_path ."</br>"; echo 'file size : '. $file_info->getSize() ."</br>"; echo 'contents : '. file_get_contents($file_path) ."</br>"; }

    • ベストアンサー
    • PHP
  • solaris9に32ビットのapache,phpをinstallしたい

    solaris 8で32ビット版gccでapache.php,あるモジュール(phpで使うxxx.soファイル) を構築して,solaris8では問題なく動くのですが solaris 9で構築することになり,apache,php等をinstallしましたが sokaris9ではgccが基本的に64bitなので,apache,phpも64bitでinstall されたようです が,あるモジュールは,32ビットしか対応していないので, 普通にgccしてもELFのエラーがでたので gccの-m32オプションを付けてコンパイルしてコンパイルは通りました (xxx.soは作成完了) しかし,実際cgiを起動して,phpからそのxxx.soの中の関数郡を使おうとするとELFのエラーがでました そこで,apache,phpを32ビットでinstallすればいいのではと思いましたが,Makefileをいじったりしていろいろとやってみましたが うまくいきません gccは3.4.4のsolari9 64bit版のパッケージを入れています solaris9でgccが64ビット環境で,apache,phpのinstallのやり方を 教えてください

  • 【Flash】PHPを使って変数を読み出し

    【count.php】にこのようなスクリプト記述。 動作はここで確認できます。 【ttp://flash-moe.yi.org/count/count.php】 <?PHP ini_set('display_errors', '1'); $file = file_get_contents ("./count.txt"); $file++; file_put_contents ("./count.txt", $file); $file = mb_convert_encoding($file, "UTF-7", "EUC-JP"); echo $file; ?> それを【LoadVars】を使って値を取得させるには どうしたらいいのか?教えてくださいm(_"_)m

    • ベストアンサー
    • Flash
  • PHPで外部サイトの一部を取得して表示

    こんにちは。 普通、外部ファイルの内容を取得して表示する場合、次のようにしますよね。 <?php echo file_get_contents("***URL***"); ?> それで、そのページの一部分、 例えば<div id="text">~</div>の内容を取得して、 file_get_contentsと同じように表示する方法はありますでしょうか。 取得する範囲はIDで指定できればと思います。 よろしくお願いします。

    • 締切済み
    • PHP
  • 簡単なPHPスクリプトを動的に生成したい

    PHPスクリプトを動的に生成することは可能でしょうか? たとえば [ index.php ] <html> <head></head> <body>  <?php   print file_get_contents('format.txt');  ?> </boy> </html> [ format.txt ] echo "aaa"; のようにスクリプトをformat.txtに記述しておき それをindex.phpを読み込んだときに展開するのです。 しかし、上記のスクリプトを実行するとecho "aaa";と表示され、 aaaとは表示してくれませんでした。 PHPでこういう動的にスクリプトを展開するようなことは出来ないのでしょうか?

    • ベストアンサー
    • PHP
  • PHPで定義されている関数のコードが見たい

    PHPでコードを記述するとき、関数を定義することがあります。 function test($name){ : : } しかし、最初から定義されている関数がありますよね。 isset()やfile_get_contents()などの関数です。 こういった関数の中身をみたいのですが、PHPのどの部分を見ればいいのでしょうか。 関数の中身とは、たとえばfile_get_contentsなら function file_get_contents($name){ : //この部分のことです。 : } PEARだったら、たとえばDB.phpならばDB,phpの中身を見ればいいのですが、fopen()などの最初から定義されている関数はどこを見れいいのかがわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 「include」と「file_get_contents」の違いがよく

    「include」と「file_get_contents」の違いがよく分かりません。 ネットで調べてみました。 ・「include」… 指定したファイルを読み込んで評価 ・「file_get_contents」… 指定したファイルの内容を全て読み込んで文字列として返す で、実際に試してみたのですが、「file_get_contents」の方がよく分かりません。 具体的には、下記を試すと、結果が、tt string(44) "" となるのですが、ttって何ですか? 評価をしないで文字列として返したということでしょうか? それでなんで tt になるのでしょうか? ▼hoge.php <?php $s = file_get_contents("test1.php"); var_dump($s); ?> ▼test1.php <?php echo ("1どうなるのかな"); ?>

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

    よろしくお願いします。 先日、自宅サーバでアパッチとphpの4.3をインストールしました。 で、ローカルで試したところ、他は普通に動くのですが、変数を受け取りません。 たとえば <?php echo $test; ?> と記述したPHPをtest.phpとしてサーバフォルダにおき、 ブラウザでhttp://localhost/test.php?test=abc を見ても真っ白の画面になります。 同様に <form action="test.php" method="post"> (getでも試しました) <input type="text" name="test"> <input type="submit" value="送信"> </form> といったようにmethodで送っても真っ白な画面のままです。 次に test.phpを <?php if( $test == abc ){ echo "OK"; }else{ echo "NG"; } ?> とやってみて試しましたが結果はNGでした。 どうやら変数を受け取ってないらしいです。 phpのセキュリティを変更したらよいとの記事を見つけたのでそういう関係サイトを検索してみたのですが、それらしき内容を見つけられませんでした。 どなたかご教授お願いします。

    • 締切済み
    • PHP
  • 【PHP】書き込みできません

    PHP5.3の環境でファイル書き込みのロジックがうまくいかずに困っています。 環境は下記の通りです。 Apache 2.2.2 PHP 5.3.3 コードは下記の通りです。 >>CODE $file_path = "/home/xxxxx/logs/test.txt"; echo file_exists($file_path); echo "file_path1=".$file_path; if ( file_exists($file_path) ) { echo "file_path2=".$file_path; // ファイルポインタ取得 if ( ($fp = fopen($file_path, 'a')) !== FALSE ) { // ログは追記 echo "file_path3=".$file_path; // ファイルポインタに書き込み fwrite($fp, $date."\n"); fwrite($fp, $body); fwrite($fp, "----------------------------------------------------\n"); // ファイルポインタクローズ fclose($fp); $flg = true; } } <<CODE 権限は下記の通りです。 logs 777 test.txt 777 現象は下記の通りです。 echo文のfile_path1は表示されます。 echo文のfile_path2及びfile_path3は表示されません。 $file_path="/home/logs/test.txt";に変更すると、 echo文のfile_path1及びfile_path2が表示されます。 echo文のfile_path3は表示されません。 ファイルが存在することはlsで確認したので間違いありません。 権限も777にしているので、何がおかしいのか困り果ててしまい、初めて投稿させて頂きました。 PHPやApacheの設定ファイル等も問題あるのでしょうか。 どうぞご指摘お願いいたします。

  • vscodeでphpをやりたいんですができません

    vscodeでphpをやりたいんですができません やったこと phpのnon thread safeをダウンロード 環境変数をphpのフォルダに設定して、コマンドプロンプトで php-vでインストールされていることを確認した vscodeに拡張子がphpのファイルを作り <?php echo "goodmon"."\n";?> を実行した php file名.php そしてエラー php 452.php Could not open input file: 452.php どうしたらいいでしょうか? windows10

    • ベストアンサー
    • PHP