Другие языки программирования и технологии

Почему не работает код?

<?php
include 'config.php';

$Fam=$_POST['Fam'];
$Im=$_POST['Im'];
$Otch=$_POST['Otch'];
$Den=$_POST['Den'];
$Mes=$_POST['Mes'];
$God=$_POST['God'];
$Dol=$_POST['Dol'];
$Uvl=$_POST['Uvl'];
if
(
$Fam==true and $Im==true and $Otch==true and $Den==true and $Mes==true and $God==true and $Dol==true and $Uvl==true
)
{
echo "Все поля заполненны";
}
else
{
header('Location: localhost');
exit;
}
echo $Fam, ' ', $Im, ' ', $Otch, '!!!<br>';
echo "Пока вы читаете это, мы вносим записи в нашу базу данных, секундочку ...<br>
Вы будете записаны со следующими данными: <br>";
echo $Den, '-', $Mes, '-', $God, '<br>';
echo $Dol, '<br>', $Uvl;

$insert = mysql_query("INSERT INTO user (Fam, Im, Otch, Den, Mes, God, Dol, Uvl) VALUES ('$Fam','$Im','$Otch','$Den','$Mes','$God','$Dol','$Uvl')");
if ($insert == true)
{
echo "<br>Запись успешно добавлена";
}
else
{
echo "<br>Регистрация не удалась";
}

?>
<br>
<a href="/index.php">[На главную] </a>
<br>

конфиг работает верно, переменные из post выводятся, не работает первое if-else
Должно быть так!
if ( (! empty($Fam))&&(! empty($Im))&&(! empty($Otch))&&(! empty($Den))&&(! empty($Mes))&&(! empty($God))&&(! empty($Dol))&&(! empty($Uvl)) ) {...}

Учите синтаксис.
Диана Иршенко
Диана Иршенко
586
Лучший ответ
Таалайбек Тулегенов логика и манера исполнения понятна, но все равно не работает )
Таалайбек Тулегенов if (!empty($Fam) && !empty ($Im) && !empty ($Otch) && !empty ($Den) && !empty ($Mes) && !empty ($God) && !empty ($Dol) && !empty ($Uvl))
вот так работает кстати, и это правильный синтаксис, но толчок был верный, спасибо )
$Fam=$_POST['Fam'];
....
$Fam==true

Так оно не true равно. Оно равно тому, что ввели.
Галина Панютич
Галина Панютич
73 958
Таалайбек Тулегенов точно? ) просто я как видите не особо пока шарю )
Что значит "не работает"? Не выводится ни "Все поля заполненны", ни хедер? А откуда тогда известно, что переменные выводятся?
Ну и сравнивать с true - себя не любить.
Таалайбек Тулегенов if($Fam==true and $Im==true and $Otch==true and $Den==true and $Mes==true and $God==true and $Dol==true and $Uvl==true)
эта конструкция была добавленна в самом конце, без этой конструкции код работает
Таалайбек Тулегенов пока умею сравнивать только с тру, учусь ...
наверно потомучто true d PHP это константа равная 1 а ты в форме пишешь "true" строкой.
Вообще проверить заполнено ли поле можно с помощью функции isset()
Tema Tema
Tema Tema
59 848
echo $Fam, ' ', $Im, ' ', $Otch, '!!!<br>';
Точками надо разделять. Точно работает?
Таалайбек Тулегенов это точно работает, трабл где-то тут
if($Fam==true and $Im==true and $Otch==true and $Den==true and $Mes==true and $God==true and $Dol==true and ...
<?php
include 'config.php';
$Fam = $_POST['Fam'];
$Im = $_POST['Im'];
$Otch = $_POST['Otch'];
$Den = $_POST['Den'];
$Mes = $_POST['Mes'];
$God = $_POST['God'];
$Dol = $_POST['Dol'];
$Uvl = $_POST['Uvl'];

if($Fam ==" " and $Im ==" " and $Otch ==" " and $Den ==" " and $Mes ==" " and $God ==" " and $Dol ==" " and $Uvl ==" "){

header('Location: localhost');
exit;

}else{
echo "Все поля заполнены";
}
echo $Fam. ' '.$Im.' '.$Otch.'!!!<br>';

echo "Пока вы читаете это, мы вносим записи в нашу базу данных, секундочку ...<br>Вы будете записаны со следующими данными: <br>";echo $Den. '-'.$Mes, '-'.$God. '<br>';

echo $Dol. '<br>'. $Uvl;

$insert = mysql_query("INSERT INTO user (`Fam`,` Im`, `Otch`, `Den`, `Mes`, `God`, `Dol`, `Uvl`) VALUES ('$Fam','$Im','$Otch','$Den','$Mes','$God','$Dol','$Uvl')");

if ($insert == true){
echo "<br>Запись успешно добавлена";}else{echo "<br>Регистрация не удалась";
}
mysql_close();
?>

<br><a href="/index.php">[На главную] </a><br>
Таалайбек Тулегенов по идее я подразумевал что если пропущенно хотя бы одно поле то пхп перекидывает на главную тсраницу с формой
and вроде каждое выражение дополнительно надо в скобки взять
надо писать 2к8гне0ге0уешщкгу094г503497646793окшщоащокршц ты сука урод