вот имя и информация моих пользователей:
это мой код:
- почему база данных mysql деактивирована в статусе xampp, но зеленая на панели управления панели управления xampp?
- Создание и сохранение XML-файла на сервере с использованием PHP
- Несколько проектов с использованием одного экземпляра laravel
- Невозможно использовать Xdebug для отладки приложения Code Igniter с помощью Netbeans 6.8 IDE
- mysql_insert_id () возвращает 0
- принадлежит нескольким отношениям в Laravel для нескольких баз данных
<?php $id=$fgmembersite->UserID(); /* echo "$id"; */ $db_host = 'localhost'; $db_name= 'site'; $db_table= 'tablesite'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); mysql_query("SET CHARACTER SET utf8"); $dbresult=mysql_query("SELECT tablesite.id_user, tablesite.name, tablesite.family, tablesite.username, tablesite.phone_number, tablesite.email FROM $db_table",$con); $i = 1; while($amch=mysql_fetch_assoc($dbresult)) {?> <?php echo "<form name=f1 id='form_$i' method='post' action=submit_action.php accept-charset='UTF-8'>\r\n"; echo'<div dir="rtl">'; echo "نام خدمت دهنده: "."   ".$amch["name"]." ".$amch["family"]."   "."شماره تماس: ".$amch["phone_number"]."   "."ایمیل: ".$amch["email"].'<br>'; echo '<input type="hidden" name="id_user" value="' . $amch["id_user"] . '">'; echo '<input type="hidden" name="name" value="' . $amch["name"] . '">'; echo '<input type="hidden" name="family" value="' . $amch["family"] . '">'; echo '<input type="hidden" name="phone_number" value="' . $amch["phone_number"] . '">'; echo '<input type="hidden" name="email" value="' . $amch["email"] . '">'; echo '<input type="submit" name="choose" value="انتخاب مشتری"/>';echo'<hr/>'; echo'<hr/>'; echo'</div>'; echo "</form>\r\n"; $i++; } ?>
например, я выбрал одного приятеля, который вы можете видеть на картинке внизу, из появившегося списка:
и его информация отправляется на вторую страницу:
все вещи работают до этого шага. на следующем шаге я хочу отправить id_user выбранного пользователя. как вы видите на рисунке, id_user текущего пользователя – 34. Ниже приведен код всех кодов второй страницы.
проблема в том, где я хочу id_user (для этого пользователя 34) в базу данных, но я получаю следующее уведомление:
(!) Примечание: Неопределенный индекс: id_user в C: \ wamp \ www \ source \ submit_action.php в строке 339
строка 339: VALUES ('$ id', '". $ _POST [' id_user ']." и т. д.
<form name="form5" method="post" action="" > <div dir="rtl"> <?php $username=$fgmembersite->UserNameOfUser(); $db_host = 'localhost'; $db_name= 'site'; $db_table= 'job_list'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); mysql_query("SET CHARACTER SET utf8"); $dbresult=mysql_query("SELECT job_list.job_id, job_list.job_name, tablesite.username FROM $db_table INNER JOIN relation on job_list.job_id=relation.job_id INNER JOIN tablesite on relation.user_id=tablesite.id_user AND tablesite.username='$username'",$con); echo'* خدمتی که ارائه داده اید: ','<br/>'; echo '<select name="job" dir="rtl">'; while($amch=mysql_fetch_assoc($dbresult)) { echo '<option value="'.$amch['job_id'].'">'.$amch['job_name'].'</option>'; } echo '</select>'; ?><br/> </div> <div dir="rtl"> <label for='date' >* تاریخ عملیات:</label><br/> <?php echo'<select dir="rtl" name="day">'; for($day=1;$day<=31;$day++) { echo '<option value="' . $day . '">' . $day . '</option>'; } echo'</select>'; echo'<select dir="rtl" name="month">'; for($month=1;$month<=12;$month++) { echo '<option value="' . $month . '">' . $month . '</option>'; } echo'</select>'; echo'<select dir="rtl" name="year">'; for($year=1388;$year<=1410;$year++) { echo '<option value="' . $year . '">' . $year . '</option>'; } echo'</select>'; ?> <br/> <label for='price' >* هزینه کار:</label><br/> <input type='text' dir="rtl" name='price' id='price' value='' maxlength="50" placeholder="54000"/>تومان<br/> <label for='textaria' >توضیحات:</label><br/> <textarea name="textaria" cols="" rows=""></textarea><br/> <input name="submit" type="submit" value="ثبت عملیات" /> </div> <?php if(isset($_POST['choose'])) { $id_user =$_POST['id_user']; $name=$_POST['name']; $family=$_POST['family']; $phone_number=$_POST['phone_number']; $email=$_POST['email']; echo "$name", " " , "$family", '<br/>' , "$phone_number", '<br/>' , "$email",'<br/>' , "$id_user"; } ?> </form> <?php if(isset($_POST['submit'])) { $date = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']; $id=$fgmembersite->UserID(); $db_host = 'localhost'; $db_name= 'site'; $db_table= 'action'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); mysql_query("SET NAMES 'utf8'", $con); mysql_query("SET CHARACTER SET 'utf8'", $con); mysql_query("SET character_set_connection = 'utf8'", $con); $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); $ins = "INSERT INTO $db_table (service_provider_id,customer_id,date,price,job_id,service_provider_comment) VALUES ('$id', '" . $_POST['id_user'] . "', '$date', '" . mysql_escape_string($_POST['price']) . "', '" . mysql_escape_string($_POST['job']) . "', '" . mysql_escape_string($_POST['textaria']) . "')"; $saved=mysql_query($ins ); mysql_close($con); /*echo '<script language="javascript">'; echo 'alert("عملیات با موفقیت ثبت شد")'; echo '</script>'; echo '<script>window.location.href = "choose_user.php";</script>'; */ } ?>
в<form name="form5" method="post" action="" > <div dir="rtl"> <?php $username=$fgmembersite->UserNameOfUser(); $db_host = 'localhost'; $db_name= 'site'; $db_table= 'job_list'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); mysql_query("SET CHARACTER SET utf8"); $dbresult=mysql_query("SELECT job_list.job_id, job_list.job_name, tablesite.username FROM $db_table INNER JOIN relation on job_list.job_id=relation.job_id INNER JOIN tablesite on relation.user_id=tablesite.id_user AND tablesite.username='$username'",$con); echo'* خدمتی که ارائه داده اید: ','<br/>'; echo '<select name="job" dir="rtl">'; while($amch=mysql_fetch_assoc($dbresult)) { echo '<option value="'.$amch['job_id'].'">'.$amch['job_name'].'</option>'; } echo '</select>'; ?><br/> </div> <div dir="rtl"> <label for='date' >* تاریخ عملیات:</label><br/> <?php echo'<select dir="rtl" name="day">'; for($day=1;$day<=31;$day++) { echo '<option value="' . $day . '">' . $day . '</option>'; } echo'</select>'; echo'<select dir="rtl" name="month">'; for($month=1;$month<=12;$month++) { echo '<option value="' . $month . '">' . $month . '</option>'; } echo'</select>'; echo'<select dir="rtl" name="year">'; for($year=1388;$year<=1410;$year++) { echo '<option value="' . $year . '">' . $year . '</option>'; } echo'</select>'; ?> <br/> <label for='price' >* هزینه کار:</label><br/> <input type='text' dir="rtl" name='price' id='price' value='' maxlength="50" placeholder="54000"/>تومان<br/> <label for='textaria' >توضیحات:</label><br/> <textarea name="textaria" cols="" rows=""></textarea><br/> <input name="submit" type="submit" value="ثبت عملیات" /> </div> <?php if(isset($_POST['choose'])) { $id_user =$_POST['id_user']; $name=$_POST['name']; $family=$_POST['family']; $phone_number=$_POST['phone_number']; $email=$_POST['email']; echo "$name", " " , "$family", '<br/>' , "$phone_number", '<br/>' , "$email",'<br/>' , "$id_user"; } ?> </form> <?php if(isset($_POST['submit'])) { $date = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']; $id=$fgmembersite->UserID(); $db_host = 'localhost'; $db_name= 'site'; $db_table= 'action'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); mysql_query("SET NAMES 'utf8'", $con); mysql_query("SET CHARACTER SET 'utf8'", $con); mysql_query("SET character_set_connection = 'utf8'", $con); $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده"); $ins = "INSERT INTO $db_table (service_provider_id,customer_id,date,price,job_id,service_provider_comment) VALUES ('$id', '" . $_POST['id_user'] . "', '$date', '" . mysql_escape_string($_POST['price']) . "', '" . mysql_escape_string($_POST['job']) . "', '" . mysql_escape_string($_POST['textaria']) . "')"; $saved=mysql_query($ins ); mysql_close($con); /*echo '<script language="javascript">'; echo 'alert("عملیات با موفقیت ثبت شد")'; echo '</script>'; echo '<script>window.location.href = "choose_user.php";</script>'; */ } ?>
после if (isset ($ _ POST ['submit'])), невозможно распознать $ id_user. Я думаю, проблема здесь.
Это связано с тем, что у вас более одной формы, и если вы не пересылаете свое значение во вторую форму, значение будет очищено (станет NULL
, иначе говоря, оно не будет повторно отправлять id_user
автоматически во вторую форму).
Прежде всего вам нужно объявить и получить id_user
в новой форме, добавив следующую строку в начало файла submit_action.php
:
$id_user = $_POST['id_user'];
Таким образом, ваш код будет выглядеть так:
..... <div dir="rtl"> <?php $id_user = $_POST['id_user']; $username = $fgmembersite->UserNameOfUser(); etc....
Здесь вы можете либо передать переменную внутри скрытого ввода, добавив следующую строку перед кнопкой отправки формы, чтобы она выглядела так:
..... <input type="hidden" name="id_user" value="<?php echo $id_user ?>"> <input name="submit" type="submit" value="ثبت عملیات"/> etc....
Или вы можете передать переменную непосредственно в своем заявлении, чтобы она выглядела так:
..... VALUES ('$id', '" . $id_user . "', '$date', '" . mysql_escape_string($_POST['price']) . "', etc....
Это должно решить трюк.
Примечание. После беседы с OP ответ обновляется и улучшается.
$ _POST ['id_user'] неизвестен, потому что он не отправляет вторую форму. это означает, что id_user не отправляет в блок: if (isset ($ _ POST ['submit'])) {…}, так что это Undefined index.