У меня есть 4 страницы: register.php, view.php, edit.php и display.php На view.php у меня есть форма, которая отображает все данные из базы данных. У меня есть окно поиска, результаты которого отображаются в display.php (он отображает только одну строку из базы данных). В отображении php у меня есть форма с кнопкой редактирования для записи. Кнопка редактирования перенаправляет меня на edit.php, где я могу изменить свои данные. Когда я сохраняю, он перенаправляет меня на view.php, но я хочу отображать php с сохраненными значениями редактируемой записи. Я пробовал, но он не работает. Вторая проблема, которую я имею здесь, заключается в том, чтобы сохранить в edit.php параметр выпадающего списка, который я выбрал в register.phpПеренаправление на другую страницу после отправки формы
Я, м новый в программировании, и я надеюсь, что кто-то поможет мне в этой проблеме. THX за помощью.
Мои страницы:
DISPLAY.PHP
<?php
include('connect-db.php');
$client = $_POST['client'];
$contract = $_POST['contract'];
if(
$contract = $_POST['contract'])
{$query = "select * from users where contract = '$contract'"; }
else{
$query= "select * from users where client = '$client'";
}
$result = mysql_query($query);
echo "<table>";
\t
\t \t while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
\t // echo out the contents of each row into a table
\t \t echo '<label>Contract</label><input readonly="true" value=' . $row['contract'] . '>';
\t \t echo '<label>Client</label><input readonly="true" type="text" value="' . $row['client'] . '">';
\t \t echo '<label>Step</label><input type="text" readonly="true" value=' . $row['Step'] . '>';
\t \t echo '<br><a href="edit.php?contract=' . $row['contract'] . '"><input type="submit"value="Change"></a>';
\t \t echo '<br>'; \t \t
\t \t echo "</table>";
\t }
?>
edit.php
<?php
function renderForm($contract, $client, $step
{
?>
<!DOCTYPE html>
<body>
<form id="base" name="base" method="post" action="">
\t <input data-validate="number" value="<?php echo $contract; ?>" readonly="true" id="contract">
<input data-validate="text" value="<?php echo $client; ?>" id="client">
\t \t \t \t \t <select name="step">
\t \t \t \t \t <option value="option1">Option1</option>
\t \t \t \t \t \t <option value="option2">Option2</option>
\t \t \t \t </select>
\t <input type="submit" value="Change">
</form>
</body>
</html>
\t \t <?php
}
include('connect-db.php');
if (isset($_POST['submit']))
{
if (is_numeric($_POST['contract']))
{
$contract = mysql_real_escape_string(htmlspecialchars($_POST['contract']));
$client = mysql_real_escape_string(htmlspecialchars($_POST['client']));
$step = mysql_real_escape_string(htmlspecialchars($_POST['step']));
if ($contract == '' || $client == '')
{
$error = 'ERROR: Please fill in all required fields!';
renderForm($contract, $client, $step, $error);
}
else
{
mysql_query("UPDATE users SET
contract='$contract', client='$client', step='$step', WHERE contract='$contract'")
or die(mysql_error());
header("Location: view.php");
}
}
else
{
echo 'Error!';
}
}
else
{
if (isset($_GET['contract']) && is_numeric($_GET['contract']) && $_GET['contract'] > 0)
{
$contract = $_GET['contract'];
$result = mysql_query("SELECT * FROM users WHERE contract=$contract")
or die(mysql_error());
$row = mysql_fetch_array($result);
if($row)
{
$contract = $row['contract'];
$client = $row['client'];
$step = $row['step'];
renderForm($contract, $client, $step, '');
}
else
{
echo "No results!";
}
}
else
{
echo 'Error!';
}
}
?>
view.php
<!DOCTYPE html>
<html>
<?php
\t include('connect-db.php');
\t \t \t $sql="SELECT * FROM users";
\t \t \t $result =mysql_query($sql);
\t \t
\t \t \t {
\t \t \t \t ?>
<table>
\t <thead>
\t \t \t <tr>
\t \t \t <th span style="font-weight: normal;">Contrat</th>
\t \t \t <th span style="font-weight: normal;">Client</th>
\t \t \t <th span style="font-weight: normal;">Step</th>
\t \t \t </tr>
\t </thead>
\t \t \t
\t \t \t <?php
\t \t \t }
\t \t while ($data=mysql_fetch_assoc($result)){
?> \t
\t <tbody>
<tr>
\t \t \t <td><?php echo $data['contract'] ?></td>
\t \t \t <td><?php echo $data['client'] ?></td>
\t \t \t <td><?php echo $data['step'] ?></td>
\t \t \t <td><a href="edit.php?contract=<?php echo $data['contract'] ?>"><input type="button" value="Change"></a></td>
\t \t \t </tr> <?php } ?>
</tbody>
</table>
</body>
</html> \t
register.php
<!DOCTYPE html>
<html>
<form id="base" method="post" action="insert.php">
\t \t \t <br>
\t \t \t <br>
\t \t \t \t <input data-validate="number" id="contract" name="contract">
<input data-validate="text" id="client" name="client">
\t \t \t \t <select name="step">
\t \t \t \t \t <option value="option1">OPTION1</option>
\t \t \t \t \t \t <option value="option2">OPTION2</option>
\t \t \t \t </select>
\t \t \t <button data-validate="submit">Register</button>
</form>
</body>
</html>
это делать не работает, потому что я должен пройти в ди splay.php некоторая информация о записи, которую он будет отображать, но я не знаю, как .. –
, если вы хотите, вы можете отправлять значения через url, как этот заголовок («Location: display.php? id = 'yourid») ; –
Я пытался сделать это, но небольшая проблема, и я не знаю, почему. У меня есть cotract - 2341, When i pass ("Location: display.php? contract = '2341'"); он дает мне URL-адрес: //localhost/form/display.php? contract =% 272341% 27 И ПУСТОЙ СТРАНИЦЫ. Поэтому он добавляет 272 из ниоткуда. –