• ベストアンサー

$ka = $_REQUEST[\"FFF\"];が変数に代入できなくて困ってます┐(´~`;)┌

今任意の名前でファイルを生成するPHPを作っています。ファイルの中身に$ka = $_REQUEST[\"FFF\"];というコードをファイル作成時に書き込みたいんですが、どうも変数 $HTMLにうまく代入されてくれません。もし、どこが問題なのかわかる方どなたかいらっしゃいましたらアドバイスお願いしますΣo(≧~≦)o。 下にコードを書いておきます。 <form name="form" action="A.php" method="POST"> HTMLファイルの名前 <input name="DAI" type="text"> <input type="submit" value="作成"> </form> <?php $DAI = $_REQUEST["DAI"]; ?> <!-- 【この下のコード$ka = $_REQUEST[\"FFF\"];がうまく変数$HTMLに代入されません】 --> <? $HTML="$ka = $_REQUEST[\"FFF\"];" ?> <?php $fp = fopen("$DAI.php","a"); fputs($fp,$HTML); fclose($fp); echo "ファイル作成成功!"; ?> <? print"$DAIが作成されました"; ?> <? print"<A href=\"http://localhost/$DAI.php\">作成された貴方のファイルへのリンク</A>"; ?>

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

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.5

<? $HTML='$ka = $_REQUEST["FFF"];' ?> こういうことでしょうか? シングルクォートは変数を評価しません。

hikarara
質問者

お礼

なるほど、そうすればよかったんですねσ(@´∀`)σ。ちょっと直してみたらちゃんとできました。ありがとうございます。大変簡潔でわかりやすい回答ありがとうございます。

その他の回答 (4)

  • wish46
  • ベストアンサー率78% (29/37)
回答No.4

ちょっと疑問なんですが $fp = fopen("$DAI.php","a"); って $DAIとphpを連結するのか(ピリオドは連結する場合にも使用するので)$DAI.php というファイル名なのか区別つかずエラーが出るような気がするのですが。。。 $DAIのみ変数として使用するなら{$DAI}.phpなどにしたほうがいいのでは? それと <? $HTML="$ka = $_REQUEST[\"FFF\"];" ?> ですが、 どういう意味です? 単に$HTML に $ka = $_REQUEST["FFF"] というのをそのまま代入したいなら $HTML = "\$ka = \$_REQUEST[\"FFF\"]"; で、出来ると思いますが。

hikarara
質問者

補足

{$DAI}.phpですか、なるほど確かにそうかもしれません。アドバイスありがとうございます〆(∇ ̄〃) 。ちょっと試してみますね。 ちなみに<? $HTML="$ka = $_REQUEST[\"FFF\"];" ?>のほうは、PHPのスクリプトごと変数に代入すると言う意味です。

回答No.3

<?php $HTML="$ka = $_REQUEST[\"FFF\"];" ?> の意味がわかりません。 コードを見る限り、$HTMLは使っていますが、 $kaって使ってないように見受けられますし、 "FFF"ってパラメータはどこから来るものなのでしょうか?

hikarara
質問者

補足

コードは特に問題がある部分を抜き出していました。Σo(≧~≦)o。 $ka = $_REQUEST[\"FFF\"]; の $_REQUEST[\"FFF\"];のFFFは別のフォームから受けとったパラメータで $kaはこれからつかう変数です。逆にわかりずらくなったみたいで申しわけないです。

noname#26650
noname#26650
回答No.2

投稿されたコードをどこで区切って別々のファイルにしているか、 線を引いていただけますか? 例えば、 --- ここから、hoge.html --- <html> <head></head> <body></body> </html> --- ここまで、hoge.html --- のように。

hikarara
質問者

補足

すみません、ちょっとうまくいかなかった部分をはしょってだしたので、わかりずらかったかもしれません。いちおう、ファイルは一枚なんですΣo(≧ヘ≦o)。

noname#26650
noname#26650
回答No.1

とりあえず、PHPスクリプトの開始部分を、すべて <?php にしてみませんか?

hikarara
質問者

補足

アドバイスありがとうございます。とりあえずこんな感じで直してやってみましたΣo(≧ヘ≦o)。ただやはりちょっとまだだめみたいです。どうなってるのやら。。といった感じです。 <form name="form" action="A.php" method="POST"> HTMLファイルの名前 <input name="DAI" type="text"> <input type="submit" value="作成"> </form> <?php $DAI = $_REQUEST["DAI"]; ?> <!-- 【この下のコード$ka = $_REQUEST[\"FFF\"];がうまく変数$HTMLに代入されません】 --> <?php $HTML="$ka = $_REQUEST[\"FFF\"];" ?> <?php $fp = fopen("$DAI.php","a"); fputs($fp,$HTML); fclose($fp); echo "ファイル作成成功!"; ?> <?php print"$DAIが作成されました"; ?> <?php print"<A href=\"?http://localhost/$DAI.php?\">作成された貴方のファイルへのリンク</A>"; ?>

関連するQ&A

  • jqueryの変数にリクエストデータを代入したい

    現在独学でcakephpを使ってブログの作成をしています。 その中でjqueryをつかっているのですが、jqueryの変数に$this->request->dataを代入することは可能でしょうか? たとえば、 var one = '<?php echo $this->request->data('Post.1.title'); ?>'; こうした場合はalertでうまく表示されたのですが、 var two = $('input#title').attr('class'); var three = $('input#title').length; var one = '<?php echo $this->request->data("Post.' + three + '.' + two + '"); ?>'; こうするとalertではなにも表示されません。(真っ白です) 書き方が違うんだろうなとは思うんですが、仕事が休みの日に家でやっているため質問できる相手もおらず、ネットで検索してもイマイチ分からず・・・ 初歩的な質問で申し訳ないのですが、どなたかご指摘等をよろしくお願いいたします。

  • PHPでFORMから来る変数名を変数にするには

    PHPでFORMから来る変数名を変数にするにはどうしたらよろしいでしょうか? 可変変数など調べたのですが、値を変数にすることは出来ても変数名を変数にする事は難しいようです。 <form action="reg.php"> <input type = "text" name = "comment"> <input type = "submit"> </form> このform内のnameが動的に変わるプログラムで,reg.phpにおいて名前(今ならcomment)を変数に格納したいと思っています。 reg.php 本来なら $comment = _REQUEST['comment']; とすると思うのですが、commentが動的に変動する場合、_REQUEST内をどう書き換えれば良いかが分からず困っています $dynamic_name = _REQUEST['ここをどう書けばよいでしょうか'] このことを考えてから今はform内ですが、formでなくてもどうやって書いてよいか分からず疑問に思いました 例えば $test = 'abc'; としたとき $test_name にtestという文字列を入れたい場合(つまりabcの変数名)どうやって入れたらよいのでしょうか?(もちろんtestと言う名前は動的に変わります) 詳しい方いらっしゃいましたらご回答いただければと思います。 良いアドバイスございましたら教えてください よろしくお願いします

    • 締切済み
    • PHP
  • $_REQUESTの値を保存する方法

    データを更新する画面を作成しています。 HTML・PHP・MYSQLを使用。 1本目のPHPはコードを入力し、 フォーム内のSUBMITボタンで、次のPHPを呼び出します。 ================================================ a.php <?php 入力チェック エラーがないとき header(省略. "/b.php?CODE=" . ($_REQUEST["CODE"])); exit(); ?> <form action="a.php" method="post"> <input type="text" name="code"> <input type="submit" name="submit" value="登録"> </form> とあって、入力チェックでエラーがなければ 別のPHPに入力したコードをパラメーターとして 持って移動。 ================================================= b.php <?php $code = $_REQUEST[CODE]; このフォームのエラーチェック エラーがないとき header(省略. "/a.php); exit(); ?> <form action="b.php" method="post"> <table> <tr><td><?php echo($code); ?></td></tr> <tr><td><input type="text"></td></tr> </table> <input type="submit" name="submit" value="更新"> </form> 受け取ったコードに対する情報を入力し、 更新ボタンを押す⇒エラーがなければデータを更新、もとの画面に。 最初にb.phpを表示したときは、$codeに値が入っていて、画面にコードが表示されますが、 更新ボタンを押して、画面にエラーがあるとき、 エラーチェックをして画面表示をすると、$codeの値が消えてしまいます。 この値を残す方法を探しています。 $_REQUESTの値を残す、もしくは、他のプログラムから パラメーターを取得し使用する方法を どなたか、教えてください!

    • ベストアンサー
    • PHP
  • テキストの内容を変数に代入

    テキストの内容を変数に入れたいのですが、 改行している部分で読み込みが終わってしまうのですが どのようにすればいいのでしょうか? 下のプログラムでは1行しか変数に代入できません。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #include<stdio.h> main(){ char a[500]; FILE *fp; fp = fopen("****.txt","r"); fscanf(fp,"%s",&a); fclose(fp); return 0; } +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ whileで回すと上手くいくとは思ったのですが、fscanfを回しても 上手くいかずわかりません。 whileとfgetsを使ってもみたのですがよくわかりませんでした。 教えて頂けたら幸いです。

  • 変数の代入について

    他のファイルを参照し変数に代入しましたが 参照式まで代入されてしまいますが、これを回避したいです。 ='C:\フォルダ名\[ファイル名.csv]シート名'!$A$1 理由としては、参照先を知られたくないためです。 Dim A(9) As Variant A(0) = Path & "!$A$1" 'ここの部分の書き方を教えてください。 .Range("B1").Value = A(0) 変数は入力ミスをした場合に元に戻すために使います。

  • perl 変数 代入

    恐れ入ります。 Perlで、フォームから送信して、変数に代入したいのですがうまくいきません。 print qq!<form action="./xxx.cgi" method="get">!; opendir(DIRHANDLE, "./xxx"); foreach(readdir(DIRHANDLE)){ next if /^\.{1,2}$/; print qq! <input type="checkbox" name="$_" value="$_"> <input type="submit" value="送信"></form> とし、ディレクトリ内のフォルダ名をnameに格納してxxx.cgiへ送信します。 xxx.cgi側では、 #!/usr/bin/perl use cgi; $form = CGI->new; として、送信されたデータを次々と代入したいのですが、どのようにしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • PHPでFormリクエスト

    ASPで以下実行したことをPHPで同じことはできるでしょうか? <form action=”Sample.asp” method=”post”> <input type=”text” name=”Name” value=”あ”><br> <input type=”text” name=”Name” value=”い”><br> <input type=”text” name=”Name” value=”う”><br> </form> Request.Form(“Name”)(1)  →あ Request.Form(“Name”)(2)  →い Request.Form(“Name”)(3)  →う

    • ベストアンサー
    • PHP
  • ジャバスクリプト 変数への代入について

    あるジャバスクリプトで書かれたウェブアプリケーションのコードを見て勉強しています。 その中で、理解できないコードがあったので、その意味を教えてください。 var a = .5; という感じに変数に数字が代入してあるように見えるのですが、数字の前にピリオド?が ついていて、数字の代入ではないようです。これは一体なにを表わしているのでしょうか? よろしくお願いします。

  • 変数が表示されない。

    HTMLフォームからgetで、phpに変数を渡し、それを表示させるだけなのですが、なぜか変数部分だけが表示できません。どなたかご教授お願いいたします。 XAMPP2.5.8をXP上で使用しています。 <送信側HTMLフォーム> <html> <body> <form action=/cgi-bin/sample.php method="get"> 今は西暦<input type=text name=yyyy>年 <input type=submit value="送信"> </form> </body> </html> <受信側PHPファイル> <?php print "今年は西暦" . $_GET['yyyy'] . "年\n"; ?> $_GET[$yyyy]な風にもしてみましたがダメでした。 php.iniのregister_globalはonにし、$_GET[]を利用しない方法で print "今年は西暦" . $yyyy . "年\n"; と試してみても結果は同じでした。 あまりに基本的なこと過ぎて恥ずかしい話ですが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • なぜ?グローバル変数に代入できません!

    お世話になります。 以下、例文です。 flag = new Array();//グローバル変数として用意 function selectCount() { for (count = 0; count <= document.form1.length - 1; count++) { if (form1.elements[count].type == "select-one") { itemflag[count] = true; alert(itemflag[count]); } } alert(itemflag[1]+'aa'); } <body onLoad = "selectCount();"> htmlの中にあるselectオブジェクトの数を調べ、 その数の分フラグを作成し、true指定するメソッドを作成したつもりです。 しかし、for文を抜けたところにalertを置き、実際に trueが代入されているか調べたところ、値はundefineになってしまいました。for文内で値が代入されていることは確認されているにも関わらず、です。 なぜでしょうか?for文でのtrue、false指定は,for文外では機能しないのでしょうか? ご存じの方いらっしゃいましたら、ご教授宜しくお願い致します。

専門家に質問してみよう