-1

申し訳ありませんが、私はこれが初めてです。mySQL データベースから生成された連絡先情報をオプションに動的に入力する HTML select 要素を生成する php スクリプトがあります。連絡先情報には、ファーストネーム、セカンドネーム、電話番号が含まれます。最初は空の 2 番目の HTML select 要素を作成しました。

2 つの Java スクリプト関数が作成されました。1 つ目は addcontacts と呼ばれ、この関数の役割は、最初の選択要素から連絡先を削除し、2 つ目の選択要素に追加することです。2 番目の JavaScript 関数 removeContacts は、これを逆に実行します。

必要なすべての連絡先が 2 番目の選択要素に追加されたら、電話番号のみを php 配列に追加したいと思います。アイデアは、SMS メッセージが選択された番号に送信されるということです。

これは私のコードです、

html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Sender</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<script>
function addContact()
{
    var cont = document.getElementById("contacts");
var snd = document.getElementById("send");
var opt = document.createElement("option");
for (var i=0; i <cont.options.length; i++)
{
    if(cont.options[i].selected == true)
    {
        var selOpt = cont.options[i];
        opt.value = selOpt.value;
        opt.text = selOpt.text;
        try
        {
            snd.add(opt,null);
            cont.remove(i,null);
        }
        catch(error)
        {
            snd.add(opt);
            cont.remove(i);
        }
        i--;
    }
}
//snd.options.add(opt);
//opt.text = name;
//opt.name = id;
}
function removeContact()
{
var cont = document.getElementById("send");
var snd = document.getElementById("contacts");
var opt = document.createElement("option");
for (var i=0; i <cont.options.length; i++)
{
    if(cont.options[i].selected == true)
    {
        var selOpt = cont.options[i];
        opt.value = selOpt.value;
        opt.text = selOpt.text;
        try
        {
            snd.add(opt,null);
            cont.remove(i,null);
        }
        catch(error)
        {
            snd.add(opt);
            cont.remove(i);
        }
        i--;
    }`enter code here`
}
}
  </script>
   <h2>Sender- Send Message</h2>
   <form method="post" action="send.php">
    <fieldset id="message">
<?php

echo 'Hello '. $_SESSION['username'].' <br/>';

?>
<br/>
<label for="firstname">Please enter your name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<br/>

<label for="message">Please type your message</label>
<br/>

<textarea id="message" name="message"></textarea><br />
<br/>
<br />

    <?php

    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="contacts"; // Database name 
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
    $userID = $_SESSION['userID'];

 $query = "SELECT contactID, firstName, secondName, phone_number FROM   phone_numbers                 WHERE userID = $userID ";
    $result=mysql_query($query);
    $phone_numbers = array();
    echo "<select name='contacts' id='contacts'  multiple
            style='width:200px'>";
    while($row = mysql_fetch_array($result)) {

        echo "<option value=".$row['contactID']. ">".$row['firstName'].'   '.$row['secondName'].' - ' .$row['phone_number']."</option>";
    }
    echo "</select>";






?>

<input type="button" onclick="addContact()"  value="Add"/>
<input type="button" onclick="removeContact()"  value="Remove"/>
<br/>
<select name="send" id="send"  multiple style="width:200px">
<input type="submit" value="Add Contact" name="addcontact" />


</select>
<br />
<br />

<label for="number"> Or type in a single number: </label>
<br/>
<input type= "text" id="number" name="number"/>
<br/>
<br />
<input type="submit" value="Send Message" name="submit" />
<input type="submit" value="Logout" name="logout" />
</fieldset>
</form>
</body>
</html>
4

1 に答える 1

0

PHP はサーバー側で実行されます。JavaScript はクライアント側で実行されます。ページがユーザーに表示される前に、PHP はその仕事を完了しています。リダイレクト、更新、またはAJAX要求を行う必要がありますが、要点は、何らかの方法で情報をサーバーに送り返す必要があるということです。

ですから、あなたの質問に答えるには... いいえ、JavaScript から PHP 変数を設定することはできません。

于 2013-05-02T12:48:04.987 に答える