У меня есть код для проверки дубликатов в db перед отправкой данных, но оператор, который у меня есть, не работает. если найден дубликат, сообщение возвращается в форму. однако он не работает, и я уверен, что это связано с неправильными утверждениями else, которые находятся в нижней части файла. предположим, что все соединения работают. где ошибка? Большое спасибоинструкция else, не отображающая данные
<?php
$array = split('[,]', $_POST['fileno']);
if (isset($_POST['submit'])) {
foreach ($array as $fileno) {
if ($fileno == '' && $box == '')
{
echo '<div style="background-color:#ffa; padding:2px; color:#ff0000;font-size:12px;font-weight:normal">' . 'You must incude a box and a file' . '</div>';
}
elseif ($fileno == '')
{
echo '<div style="background-color:#ffa; padding:2px; color:#ff0000;font-size:12px;font-weight:normal">' . 'You must enter a file reference' . '</div>';
}
elseif ($box == '')
{
//echo error;
echo '<div style="background-color:#ffa; padding:2px; color:#ff0000;font-size:12px;font-weight:normal">' . 'You must enter a box' . '</div>';
}
else
{
$sql = "SELECT custref FROM files WHERE custref = '$fileno' ";
$result = runSQL($sql) or die(mysql_error());
if (mysql_num_rows($result)>0){
echo '<div style="background-color:#ffa; padding:2px; color:#ff0000;font-size:12px;font-weight:normal">' . $fileno . ' is already in the database. No duplicates' . '</div>';
}
$sql = "SELECT custref FROM boxes WHERE custref = '$box' ";
$result = runSQL($sql) or die(mysql_error());
if (mysql_num_rows($result)>0){
echo '<div style="background-color:#ffa; padding:2px; color:#ff0000;font-size:12px;font-weight:normal">' . $box . ' is already in the database. No duplicates' . '</div>';
}
else
{
//insert into db;
echo '<div style="background-color:#ffa; padding:2px; color:#33CC33;font-size:12px;font-weight:normal">' . $fileno . "Box: " . $box . $authorised . 'Successfull' . '</div>';
$sql = "INSERT INTO `files` (customer, authorisation, boxstatus, boxref, custref, filestatus) VALUES ('$customer', '$authorised', '$boxstatus', '$box', '$fileno', $filestatus)";
$result = runSQL($sql) or die(mysql_error());
//echo 'This record is valid';
//header("Location: http://localhost/sample/admin/files/index.php");
//exit();
}
}
}
}
?>
код формирования ;-( – Svisstack
Я предположил, что «не работает» означает, что вы не видите, является уникальной записью, которая записывается в базу данных? Потому что неясно, что вы на самом деле спрашиваете. –
1) используйте empty() to chek, если varriable пуст 2) Вы получаете какие-либо ошибки? нет? поверните display_errors на – Aviatrix