2013-04-30 8 views
-1

Простите меня, но я новичок в этом. У меня есть php-скрипт, который генерирует элемент выбора HTML, который динамически заполняет параметры контактной информацией, сгенерированной из базы данных mySQL. контактная информация включает имя, второе имя и номер телефона. Я создал второй элемент выбора HTML, который пуст для начала.Получение переменных javascript для переменных PHP

были созданы два сценария java-скрипта. первый называется addcontacts, задачей этой функции является удаление контактов из первого элемента select и добавление их во второй элемент select. вторая функция javascript, removeContacts, делает это наоборот.

Как только все нужные контакты будут добавлены ко второму элементу выбора, я хотел бы добавить только номера телефонов в 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> 
+0

Вы будете прощены: http://php.net/tutorial.forms - Есть ли какой-либо вопрос программирования, который остался открытым? Если так, пожалуйста, дайте нам знать. –

+0

Возможный дубликат [Ссылка: Почему код PHP в моем Javascript не работает?] (Http://stackoverflow.com/questions/13840429/reference-why-does-the-php-code-in-my-javascript- не работает) – deceze

+0

Возможный дубликат [Как получить несколько выбранных значений поля выбора в php?] (http://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select -box-in-php) –

ответ

0

PHP выполняется на стороне сервера. Выполняется JavaScript на стороне клиента. Перед тем, как ваша страница будет отображаться пользователю, PHP завершил свою работу. Вам необходимо либо перенаправить, обновить, либо сделать запрос AJAX, но дело в том, что вам нужно как-то отправить информацию на сервер.

Итак, чтобы ответить на ваш вопрос ... нет, вы не можете установить переменную PHP из JavaScript.

Смежные вопросы