Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Данные появляются после перезагрузки страницы


Автор: NZero 19.12.2015, 16:38
Данные добавляются в БД и выводятся на странице, но после добавления данных в БД они появляются только после обновления страницы вручную, как сделать обновление страницы?

Код

session_start(); 
// если были отправлены данные
if(isset($_POST['add_advice'])){
    // Сравниваем введенную капчу с тем, что храниться в сессии
    if($_SESSION['capcha'] == $_POST['acapcha']){
        $to="[email protected]";
        $fio = $_POST['afio'];
        $tel = $_POST['atel'];
        $email = $_POST['amail'];
        if ($email == "")
        {
            $email = "[email protected]";
        }
        $sub="Консультация";
        $sub = convert_cyr_string ($sub,w,k);
        $sub = '=?koi8-r?B?'.base64_encode($sub).'?=';
        $message=$fio."\n".$tel."\n".$_POST['amessage'];
        $msg = convert_cyr_string ($message,w,k);
        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/plain; charset=koi8-r' . "\r\n";
        $headers .= 'From:' .$email. "\r\n";
        if(mail($to,$sub,$msg,$headers))
        {    
        }
        else
        {
            echo "<p class='title'><font color='red'>По техническим причинам, письмо не было отпавленно!</font></p>";
        }
        
        $mes=$_POST['amessage'];
        
        db_connect();
        
        mysql_query("INSERT INTO `advice` (`name`, `mail`, `query`) VALUES ('$fio', '$email', '$mes')");
        mysql_close();
        
        header("Location: advice.php");
}else {
    print '<script language="javascript">alert("Введит верный результат!")</script>'; 
}
// Удаляем значение капчи из сессии 
unset($_SESSION['capcha']);  
}


делал при помощи js location.reloade(), но в таком случае отрабатывает код после else!

Автор: bobik02 20.12.2015, 13:19
Сделай сохранения и вывод данных через ajax. Если успешно бекенд сохранил то и на фронте отобразить что надо.

Автор: NZero 20.12.2015, 21:03
сделал так
Код

mysql_query("INSERT INTO `advice` (`name`, `mail`, `query`) VALUES ('$fio', '$email', '$mes')");
        mysql_close();

        print '<script language="javascript">window.location.href = "advice.php";</script>';

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)