К ответу Твисты - пример Minimal, Complete и Verifiable, вероятно, будет выглядеть как пример ниже.
ПРИМЕЧАНИЕ:
Я в значительной степениисключил все, что вызывало какие-либо ошибки, я также пропустил фактическую вставку базы данных, поскольку она не имеет отношения к проблеме.
Судя по предоставленному коду, на самом деле это была одна большая проблема:
Неопределенные индексы.Судя по предоставленному коду dbinsert.php их много.$acre = $_POST['acre']
и каждый $_POST[]
после него должен давать Warning: Undefined index
.
dbextract.php также содержит очень недопустимый SQL-запрос.Вероятно, он должен был быть SELECT * FROM forminfo WHERE fcode='$fcode'
.
На самом деле было бы лучше, если бы вы использовали Подготовленные операторы MySQLi
Пример ниже демонстрирует работу с $_SESSION
.
dataentryform.php
<form method="post" action="dbinsert.php">
<table width="650" border="1" class="table1">
<tbody>
<tr>
<td class="label">Farmer's Code</td>
<td width="350" colspan="2"><input type="text" name="fcode" class="text" autocomplete="off" required></td>
</tr>
<tr>
<td class="label">Farmer Name</td>
<td width="350" colspan="2"><input type="text" name="fname" class="text" autocomplete="off" required></td>
</tr>
<tr>
<td class="label">Village/ Town</td>
<td colspan="2"><input type="text" name="village" class="text" autocomplete="off" required></td>
</tr>
<tr>
<td class="label">Survey Number</td>
<td width="350" colspan="2"><input type="text" name="surnum" class="text" autocomplete="off" required></td>
</tr>
<tr>
<td class="label">Plot Number</td>
<td width="350" colspan="2"><input type="text" name="plotnum" class="text" autocomplete="off" required></td>
</tr>
...
...
...
...
...
...
...
...
...
...
...
...
<tr>
<td class="label">Potash (Tons/Acre)</td>
<td width="350" colspan="2"><input type="number" name="potash" class="range" min="0" step="0.001" autocomplete="off" required></td>
</tr>
</tbody>
</table>
<button type="submit" name="submit" class="submit">Submit</button>
</form>
dbinsert.php
<?php
session_start();
// include 'dbconnect.php';
$fcode = $_POST['fcode'];
$fname = $_POST['fname'];
$village = $_POST['village'];
$surnum = $_POST['surnum'];
$plotnum = $_POST['plotnum'];
$_SESSION['fcode']=$fcode;
// $sql = "INSERT INTO forminfo (fcode,fname,village,surnum,plotnum,acre,gunta,soiltype,wtrsrc,factory,labnum,
// nextcrop,coldate,gendate,season,taryield,nitro,phos,potash)
// VALUES ('$fcode','$fname','$village','$surnum','$plotnum','$acre','$gunta','$soiltype','$wtrsrc','$factory','$labnum',
// '$nextcrop','$coldate','$gendate','$season','$taryield','$nitro','$phos','$potash');";
// mysqli_query($conn, $sql);
header('location: dbextract.php');
?>
dbextract.php
<?php
//session_start();
// include 'dbconnect.php';
$fcode = $_SESSION['fcode'];
//$fcode = $_GET['fcode'];
var_dump($fcode);
// $sql = "SELECT * FROM forminfo WHERE fcode=['$fcode']";
// $result = mysqli_query($conn, $sql);
// $row = mysqli_fetch_array($result);
?>
То же самое можно сделать без использования $_SESSION
. dataentryform.php остается прежним.
dbinsert.php
<?php
//session_start();
// include 'dbconnect.php';
$fcode = $_POST['fcode'];
$fname = $_POST['fname'];
$village = $_POST['village'];
$surnum = $_POST['surnum'];
$plotnum = $_POST['plotnum'];
//$_SESSION['fcode']=$fcode;
// $sql = "INSERT INTO forminfo (fcode,fname,village,surnum,plotnum,acre,gunta,soiltype,wtrsrc,factory,labnum,
// nextcrop,coldate,gendate,season,taryield,nitro,phos,potash)
// VALUES ('$fcode','$fname','$village','$surnum','$plotnum','$acre','$gunta','$soiltype','$wtrsrc','$factory','$labnum',
// '$nextcrop','$coldate','$gendate','$season','$taryield','$nitro','$phos','$potash');";
// mysqli_query($conn, $sql);
header('location: dbextract.php/?fcode='.$fcode);
?>
dbextract.php
<?php
//session_start();
// include 'dbconnect.php';
//$fcode = $_SESSION['fcode'];
$fcode = $_GET['fcode'];
var_dump($fcode);
// $sql = "SELECT * FROM forminfo WHERE fcode=['$fcode']";
// $result = mysqli_query($conn, $sql);
// $row = mysqli_fetch_array($result);
?>
Выше показано, что это можно сделать без $_SESSION
.В этом примере происходит то, что вы передаете желаемое значение в качестве параметра.Затем происходит запрос GET
, а затем вы используете $_GET['fcode']
для получения значения.
!!! ВАЖНО !!!
Приведенные выше примерытолько это - примеры.Скорее всего, вам придется немного их настроить под свои нужды.Например, вам придется фактически откомментировать части, которые работают с базой данных, и немного переписать их.
Об отправке данных с одним запросом POST
в несколько разных файлов .php
-На стороне сервера, насколько мне известно, запрос single POST
отправляет данные в файл single . Примечание можно отправить несколько POST-запросов с использованием AJAX, но AJAX работает на стороне клиента, поэтому AJAX не поможет, если перенаправление происходит на стороне сервера.