У меня проблема с заданием, над которым я сейчас работаю. У меня есть выпадающий список, в котором я могу выбрать пользователя для отправки ему сообщения на моем веб-сайте. Проблема в том, что каждый раз, когда я пытаюсь выбрать что-то, он продолжает выбирать последний элемент из списка. Приведенный ниже код является тем, который я объявил в верхней части моего PHP-файла после запроса из таблицы базы данных:
while($row=mysqli_fetch_array($query)) {
$User_id= $row['User_ID'];
$USERname = $row['Username'];
$options.= "<option value=>".$USERname."</option>";
}
И вот здесь я пытаюсь отобразить список имен пользователей в выпадающем списке в форме:
<form method="post" action="message_send_new.php">
<tr>
<td width="165">To</td>
<td width="605">
<select name ="to_username" id="to_username">
<OPTION VALUE=0>
<?php echo $options; ?>
</OPTION ></select>
</td>
Я чувствую, что что-то не так в этой линии <OPTION VALUE=0>
но я не совсем уверен в этом.
И после этого я написал их, в результате чего сообщение, отправленное пользователем, должно быть правильно отправлено в почтовый ящик предполагаемого пользователя, и сообщение также должно отображаться в папке исходящих сообщений предыдущего пользователя, но по какой-то причине эта часть также не работает должным образом.
if(isset($_POST['submit1'])) {
$to_username=isset($_POST['to_username']);
$title=$_POST['title'];
$message=$_POST['message'];
$to_userid=isset($_POST['to_userid']);
$userid=$_POST['User_ID'];
$from_username=isset($_POST['from_username']);
$senddate=isset($_POST['senddate']);
}
require_once "includes/connect_i.php";
$query = mysqli_query($myConnection,
"INSERT INTO pm_outbox(userid,username,to_userid,to_username,
title,content,senddate)
VALUES('$Userid','$Username','$User_id','$USERname',
'$title','$message',Now())") or die (mysqli_error($myConnection));
$query = mysqli_query($myConnection,
"INSERT INTO pm_imbox(userid,username,from_id,from_username,
title,content,recieve_date)
VALUES('$User_id','$USERname','$Userid','$Username',
'$title','$message',Now())")or die (mysqli_error($myConnection));
Я пытался вставить в таблицы, используя значения, как показано выше, до 2 запросов, но все равно я не получил. Я видел случай с выпадающим списком, похожий на мой, где-то на этом сайте, но он не сильно помог мне. Я прошу прощения за любые неосторожные ошибки в кодах, так как я уже давно не кодирую в PHP. Спасибо!
Обновить:
Я не уверен, так ли это. Блок кода ниже, где я пытаюсь показать, что пользователь является отправителем сообщения, в то время как последний блок кода, где я пытаюсь показать, что сообщение должно быть отправлено выбранному пользователю на основе вариант, выбранный из выпадающего списка.
$sqlCommand= "SELECT User_ID, Username FROM users WHERE Username='" . $_SESSION['username']. "'";
$query = mysqli_query($myConnection,$sqlCommand) or die (mysql_error());
while ($row = mysqli_fetch_array($query)) {
$Userid = $row ["User_ID"];
$Username = $row["Username"];
}
mysqli_free_result ($query);
if(isset($_GET['User_ID'])){
$to_userid=$_GET['User_ID'];
$sqlCommand = "SELECT User_ID,Username FROM users WHERE User_ID='$to_userid'";
$query=mysqli_query($myConnection, $sqlCommand) or die (mysql_error());
while($row=mysqli_fetch_array($query)) {
$to_userid=$row['User_ID'];
$USERname=$row['Username'];
}
mysqli_free_result($query);
}
Существует небольшая ошибка с option
с вы генерируете. Так должно быть —
<select name ="to_username" id="to_username">
<OPTION VALUE=0>Select One</OPTION >
<?php echo $options; ?>
</select>
И вы не устанавливаете никакого значения для них — $options.= "<option value=>".$USERname."</option>";
Если вы хотите id
быть ценностью —
$options.= "<option value='".$User_id."'>".$USERname."</option>";
Других решений пока нет …