Witam mam dwa problemu z poniższym kodem tzn.
1. Chciałbym aby zapisane wartości w input-ach były zapamiętywane, ponieważ teraz zwraca wartość " <br /><b>Notice</b>: Undefined variable: name_check in".
2. Jeżeli długość domeny jest krótsza niż 5 znaków to zwraca błąd ale tylko przy pierwszym inpucie, a chciałbym aby błąd walidacji był przy każdym z inputów.
<?php
require_once "connect.php";
$connect = @new mysqli($host, $db_user, $db_password, $db_name);
if(isset($_POST['send'])) {
$all_ok=true;
$id = $_POST['id'];
$domain_name = $_POST['domain_name'];
foreach ($domain_name as $value)
{
{
$all_ok=false;
$_SESSION['e_name']="Wpisana domena jest zbyt króka.";
}
}
$_SESSION['fr_name'] = $value;
if ($all_ok==true)
{
for($i=0;$i<$count;$i++) {
$connect->query('UPDATE domains SET domain_name="'.$domain_name[$i].'" WHERE id='.(int)$id[$i].'');
}
$_SESSION['well_done']=true;
}
}
?>
<style>
.error
{
color:#cc0000;
margin-top: 5px;
margin-bottom: -5px;
font-size:12px;
}
</style>
<form method="POST" action="">
<table>
<?php
$result = $connect->query("SELECT * FROM domains");
$how_nick = $result->num_rows;
if ($how_nick != 0) {
while($data = $result->fetch_assoc())
{
?>
<tr>
<td>Nazwa Domeny:<br> <input type="text" value="<?php
if (isset($_SESSION['fr_name'])) {
echo $_SESSION['fr_name']; unset($_SESSION['fr_name']); }
else
{
}
?>" name="domain_name[]"><br /><?php
if (isset($_SESSION['e_name'])) {
echo '<div class="error">'.$_SESSION['e_name'].'</div>'; unset($_SESSION['e_name']); }
?></td>
<td><input type="hidden" name="id[]" value="
<?php echo $data['id'];?>"/></td>
</tr>
<?php
}}
?>
</table>
<br /><center><input class="button" type="submit" name="send" value="Zapisz"></center>
</form>
w tym momencie jak w drugim inpucie wpisze wartość mniejszą niż dwa znaki to dostaje zwrot taki jak na zdjęciu.
Ten post edytował nospor 19.08.2019, 14:08:51