2015-11-04 2 views
-1

У меня есть две страницы. сначала укажите информацию о пользователе, а второй отправляет их в таблицу базы данных.Объединить две связанные страницы PHP

Мне интересно, могу ли я поместить все коды только на одну страницу из-за того, что у меня слишком много страниц и несколько раз, и я должен искать для поиска мои страницы. здесь две страницы, которые связаны друг с другом:

submit_job.php:

<fieldset class="fdex" > 
     <legend><span class="style4">تعیین شغل</span></legend> 


     <?php 

    $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("خطا در اتصال به پايگاه داده"); 

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("خطا در انتخاب پايگاه داده"); 
mysql_query("SET CHARACTER SET utf8"); 
$dbresult=mysql_query("SELECT * FROM $db_table",$con); 
echo "توانمندی مورد نظر خود را انتخاب نمایید: ";?><br/> 
<form name="form2" method="post" action="send.php" accept-charset='UTF-8'> 

<?php 
echo '<select name="job">'; 
?> 
$user_id=<?= $fgmembersite->UserFullname(); ?> 

<?php 

while($amch=mysql_fetch_assoc($dbresult)) 
{ 
echo '<option value="'.$amch['job_id'].'">'.$amch['job_name'].'</option>'; 
} 
echo '</select>'; 
?><br/> 

<textarea name="textaria" cols="" rows=""></textarea> 
      <input name="submit" type="submit" value="submit" /> 

, а также второй содержимое страницы:

<?php 
$user_id =$fgmembersite->UserID(); ?> 
<?php 
echo "$user_id "; 
?> 



<?php 
$db_host = 'localhost'; 
$db_name= 'site'; 
$db_table= 'relation'; 
$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 (job_id,user_id,comments) VALUES ('" . mysql_escape_string($_POST['job']) . "','$user_id ', '" . mysql_escape_string($_POST['textaria']) . "')"; 
$saved=mysql_query($ins); 
mysql_close($con); 
echo "('" . mysql_escape_string($_POST['job']) . "')"; 
?> 

я просто хочу способ объединить эти страницы в только одной странице , это лучше, чем слишком много страниц.

+0

Все поля обязательные для заполнения формы – Nerazzurri

+2

уверен, что вы можете использовать условный оператор; * сделано подобный ужин * –

+0

@VermaJr. yeah bro – sajad

ответ

0

Вы можете использовать функцию require() или include() в php.
Сохраните код в отдельный файл, как file1.php и file2.php
тогда ваш submit_job.php будет

<?php 
    require('file1.php'); 
    require('file2.php'); 
?> 

Вы также можете использовать включить.
Разные между include и require, эта страница не будет обрабатываться, если она не найдет файлы в случае необходимости.

+2

Это не ответит на вопрос, и это означало бы вместо 2 файлов, которые он теперь имел бы. Он хотел только один файл. – RiggsFolly

1

Канонический «простой» из одного-скрипта-делает-это все-метод что-то вроде этого:

<?php 

... connect to database 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    ... form was submitted, process it 
    if (no errors found) { 
     ... save to database 
     ... display success stuff 
     ... exit/redirect 
    } 
} 

<form action="" method="POST"> 
... display form, display any errors from POST processing 
... if displaying errors, use previously submitted data to repopulate form for editing. 
</form> 

В основном: У вас есть раздел кода, который обрабатывает данные формы. Если все идет нормально, вы сохраняете данные и отправляете пользователя в другое место. Если были ошибки, вы просто переходите к разделу отображения формы. Форма отправляется сама по себе, и этот раздел может отображать любые ошибки, сгенерированные обработкой POST, и (re?) Отображать форму для пользователя, чтобы заполнить или исправить.

+0

объясните пожалуйста первый раз. если ... – sajad

0
<?php 
// DB Connect 
if(($_POST['form2'])&&($_POST['job'])&&($_POST['textaria'])) { 
    // Display the stored record 
} 
// Form for adding more records 
?> 
+0

Хотя это может дать ответ на вопрос, это помогает предоставить некоторые комментарии, чтобы другие могли узнать «почему» этот код делает то, что он делает. См. [Как ответить] (http://stackoverflow.com/help/how-to-answer) о способах добавления дополнительных деталей/контекста в ответ. –

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