I have two problems with the following code, i.e.
I would like saved values in input to be remembered, because now it returns the value "
Notice : Undefined variable: name_check in".If the domain length is shorter than 5 characters, it returns an error but only at the first input, and I would like the validation error to be at each of the inputs.
<?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)
{
if (strlen($value)<5)
{
$all_ok=false;
$_SESSION['e_name']="Wpisana domena jest zbyt króka.";
}
}
$_SESSION['fr_name'] = $value;
if ($all_ok==true)
{
$count = count($id);
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;
echo "udana walidacja";
}
}
?>
<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
{
echo $data['domain_name'];
}
?>" 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>