@santavits

В чём ошибка php когда использую else if?

Подскажите в чём тут может быть ошибка, вроде бы делал всё правильно, но при использование, на экран ничего не выводится

$token = $_POST['token'];
$wall = $_POST['wall'];
$group = $_POST['group'];
$albom = $_POST['albom'];
$tm = $_POST['time'];
$time = time() + $tm * 60 * 1;
$dub = mysql_query("SELECT group FROM `poster` WHERE `group`='$group'", $link);
$ret = mysql_num_rows( $dub ); 
$sql1 = mysql_query("SELECT `group` FROM `poster` WHERE `group`='$group' AND `user`='$login'", $link);
    $pgr = mysql_num_rows( $sql1 ); 
	
	
if( isset( $_POST['time'] ) ){ //Добовляем либо обновляем запись в БД, либо выводим ошибку
    else if (($ret) > 0) { //Проверяем есть ли группа уже в БД
    else if (($pgr) > 0) { //Проверяем кому пренадлежит добавленная группа
	$qz = mysql_query ("UPDATE `poster` SET `token`='$token',`wall`='$wall',`albom`='$albom',`time`='$tm',`update`='$time' WHERE `group`='$group' AND `user`='$login'"); //Если этому же пользователю, то обновляем инфо
	echo "Данные для вашей группы обновлены";
	}else{ //Если нет, то выводим ошибку
	echo '<center><span style="font-size:20px;">Данная группа уже есть у нас в сервисе под другим пользователем!</span></center>'; 
	}else{ //Если ничего из перечисленого, то добовляем группу в сервис
    $zq = mysql_query ("INSERT INTO `poster`(`user`, `token`, `wall`, `group`, `albom`, `time`, `update`, `status`) VALUES ('$login','$token','$wall','$group','$albom','$tm','$time','1')", $link);
    echo "Ваша группа добавлена в сервис";

   }}}
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 1
@karminski
Senior React.JS Developer
У вас в коде полная беда с if ... else. Простая проверка кода выдает кучу синтаксических ошибок.

Попробую предположить, что код должен выглядет так:
$token = $_POST['token'];
$wall = $_POST['wall'];
$group = $_POST['group'];
$albom = $_POST['albom'];
$tm = $_POST['time'];
$time = time() + $tm * 60 * 1;
$dub = mysql_query("SELECT group FROM `poster` WHERE `group`='$group'", $link);
$ret = mysql_num_rows($dub);
$sql1 = mysql_query("SELECT `group` FROM `poster` WHERE `group`='$group' AND `user`='$login'", $link);
$pgr = mysql_num_rows($sql1);


if (isset($_POST['time'])) {
    //Добовляем либо обновляем запись в БД, либо выводим ошибку
}
else if (($ret) > 0) {
    // Проверяем есть ли группа уже в БД
}
else if (($pgr) > 0) {
    //Проверяем кому пренадлежит добавленная группа
    $qz = mysql_query("UPDATE `poster` SET `token`='$token',`wall`='$wall',`albom`='$albom',`time`='$tm',`update`='$time' WHERE `group`='$group' AND `user`='$login'"); //Если этому же пользователю, то обновляем инфо
    echo "Данные для вашей группы обновлены";
}
else if (...) { // <!-- вот тут у вас просто else - но он может быть ТОЛЬКО ОДИН на всю конструкцию
    //Если нет, то выводим ошибку
    echo '<center><span style="font-size:20px;">Данная группа уже есть у нас в сервисе под другим пользователем!</span></center>';
}
else {
    //Если ничего из перечисленого, то добовляем группу в сервис
    $zq = mysql_query("INSERT INTO `poster`(`user`, `token`, `wall`, `group`, `albom`, `time`, `update`, `status`) VALUES ('$login','$token','$wall','$group','$albom','$tm','$time','1')", $link);
    echo "Ваша группа добавлена в сервис";
}


Как рекомендация, используйте IDE - она вам сразу покажет миллион-другой ошибок в вашем коде. В том числе, что функции mysql_* давно устарели. Пора бы на PDO переходить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы