• ベストアンサー

PHPの関数実行

<?php function disp(){ echo "hello world"; } ?> <form> <input type="text"> <input type="button" onclick="<?php disp() ?>"> </form> といったソースを書いてみたのですが、ボタンを押してみるのですが作動しません。 どこか間違えているのでしょうか、それとも作動しないのでしょうか・・・。 当方としては、formのinputボタンを押したらPHPの関数が実行させるようにしたいのですが・・・。 どなたかご助言をお願いします。

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

  • ベストアンサー
  • koke29
  • ベストアンサー率58% (114/196)
回答No.2

ウソつきました 出来ましたー <?php if($_REQUEST[submit] == TRUE){ function disp(){ echo "hello world"; } } else{ function disp(){ echo ""; } } ?> <form method="post" action=""> <input type="text" value="<?php disp(); ?>"> <input name="submit" type="submit"value="押せ"> </form>

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>formのinputボタンを押したらPHPの関数が実行させるようにしたいのですが たまにこの手の質問をみかけますが基本を理解していない方が陥りやすい わなですね。 とりあえずこれを動かすには <?php function disp(){ echo "hello world"; } ?> <form> <input type="text"> <input type="button" onclick="alert('<?php disp() ?>')"> </form> でいけます。 しかしこれはonclick時にphpを実行しているのではなくて 実行結果をとっておいて、onclick時に表示しているにすぎません。 本当にonclick時にphpを実行させたいのであればajaxをつかうことに なるとおもいます。 いまこの質問をなさっている段階ではajaxを理解されるのに2~3ヶ月 程度必要かなぁとは思いますが。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

PHPでは出来ないんじゃないかなーと思います javascriptでなら簡単に出来そうな感じですね PHPでやるなら <?php if($_REQUEST[submit] == true){ $disp = "hello world"; } ?> <form method="post" action=""> <input type="text" value="<?php echo $disp; ?>"> <input name="submit" type="submit" value="押せ"> </form> こんなんでしょうか 一応 ボタンを押したら文字が出てくる という処理はされます 何に使うのかナゾですが 参考になれば幸いです