3

htmlフォームのあるphpページを書きたいです。フォームのすべての入力(たとえば数値)を(javascript関数ではなく)php関数に送信したいのですが、これはjavascript関数コードを非表示にするために作成します。

入力値をphp関数に送信するにはどうすればよいですか?
からphp関数を呼び出すことは可能onclick="function(param1, param2)"ですか?
javascriptはクライアント側の言語であり、phpはサーバー側の言語であることを私は知っています。

可能であれば、関数の戻り値を入力フィールドに書き込むにはどうすればよいですか?
私は自分のページに残りたいです。
正しいですか- action="#"
私のコードは次のとおりです。

<form action="#" method="get">
    Inserisci number1: 
    <input type="text" name="val1" id="val1"></input>

    <?php echo "ciaoooo"; ?>

    <br></br>
    Inserisci number2:
    <input type="text" name="val2" id="val2"></input>

    <br></br>

    <input type="submit" value="send"></input>
</form>

単純なphp関数の実装と、入力から関数への値の受け渡しを手伝ってください!ありがとう!

4

6 に答える 6

6

action空にしてください。属性を設定する必要はありません 。これonclickは JavaScript のみです。送信ボタンをクリックすると、フォームからの入力でページがリロードされます。したがって、フォームの上部に PHP コードを記述します。

<?php
if( isset($_GET['submit']) )
{
    //be sure to validate and clean your variables
    $val1 = htmlentities($_GET['val1']);
    $val2 = htmlentities($_GET['val2']);

    //then you can use them in a PHP function. 
    $result = myFunction($val1, $val2);
}
?>

<?php if( isset($result) ) echo $result; //print the result above the form ?>

<form action="" method="get">
    Inserisci number1: 
    <input type="text" name="val1" id="val1"></input>

    <?php echo "ciaoooo"; ?>

    <br></br>
    Inserisci number2:
    <input type="text" name="val2" id="val2"></input>

    <br></br>

    <input type="submit" name="submit" value="send"></input>
</form>
于 2013-02-24T18:40:57.000 に答える
2

Ajax を調べる必要があります。ここから始めてください。これは、現在のページにとどまり、php に入力を送信できるようにするための最良の方法です。

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
var xmlhttp;
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<h3>Start typing a name in the input field below:</h3>
<form action=""> 
First name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p> 

</body>
</html>

これにより、ユーザーのテキストボックスへの入力が取得され、ウェブページ gethint.php?q=ja が開きます。ここから、php スクリプトは $_GET['q'] を使用して何でも実行でき、James、Jason などのページにエコー バックします。

于 2013-02-24T18:45:41.390 に答える
2

これは非常に基本的なことで、要素での処理に使用する php ファイルを配置するだけです。

例えば

<form action="process.php" method="post">

次に、process.php でフォームの値を取得します。$_POST['name of the variable]

于 2013-02-24T18:39:52.353 に答える
1

いいえ、アクションはphpファイルの名前でなければなりません。オン クリックでは、JavaScript のみを呼び出すことができます。また、ユーザーからコードを隠すことは信頼を損なうことに注意してください。JS はブラウザ上で実行されるため、ある程度の信頼が必要です。

于 2013-02-24T18:37:33.413 に答える
0

php ファイルをactionform 要素の attr に書き込むことができます。
php 側では、フォームの値を取得できます$_POST['element_name']

于 2013-02-24T18:42:53.370 に答える