Здравствуйте. Подскажите пожалуйста, перезагружаю страницу $_server['php_self']. Как при перезагрузке передать переменную?
Код (PHP): // На эту стринцу передаем переменную $today if (isset($_POST['today'])) {$today = $_POST['today']; if ($today == '') {unset($today);}} $actions = array('showlist', 'up', 'ups'); $action = 'showlist'; if ( isset($_GET['action']) and in_array($_GET['action'], $actions) ) $action= $_GET['action']; switch ( $action ) { case 'showlist': // Список всех записей в таблице БД $result = $mysqli->query("SELECT *,DATE_FORMAT(vremya,'%H:%i') AS time FROM data LEFT JOIN users ON users.idu = data.department LEFT JOIN transport ON transport.idt = data.marka WHERE sdate='$today'"); echo '<h2>Список заявок</h2>'; echo '<table border="1" cellpadding="2" cellspacing="0">'; echo '<tr><th>Служба</th><th>Маршрут движения</th><th>Ориент. пробег (км)</th><th>Цель поездки</th><th>Маш/ час</th><th>Время подачи техники</th><th>Старший в автомобиле</th><th>Марка а/м</th><th>Гос. № а/м</th><th>Статус</th><th>Одобрить</th><th>Отказать</th></tr>'; while ($item = $result->fetch_array()) { echo '<tr>'; echo '<td>'.$item['unit'].'</td>'; echo "<td><a href='atcedit.php?id=$item[id]'>$item[route]</a></td>"; echo '<td>'.$item['km'].'</td>'; echo '<td>'.$item['target'].'</td>'; echo '<td>'.$item['mashchas'].'</td>'; echo '<td>'.$item['time'].'</td>'; echo '<td>'.$item['starshiy'].'</td>'; echo '<td>'.$item['markaavto'].'</td>'; echo '<td>'.$item['gos'].'</td>'; echo '<td>'.$item['status'].'</td>'; echo '<td>[url="'.$_SERVER['PHP_SELF'].'?action=up&id='.$item['id'].'"]Одобрить[/url]</td>'; echo '<td>[url="'.$_SERVER['PHP_SELF'].'?action=ups&id='.$item['id'].'"]Отказать[/url]</td>'; echo '</tr>'; } echo '</table>'; break; case 'up': // Обновить запись в таблице БД $status = 'Одобрено'; $statement = $mysqli->prepare("UPDATE data SET status=? WHERE id=?"); $statement->bind_param('si', $status, $_GET['id']); $result = $statement->execute(); header( 'Location: '.$_SERVER['PHP_SELF'].$_SERVER['$today'] ); die(); break; case 'ups': // Обновить запись в таблице БД $status = 'Отказано'; $statement = $mysqli->prepare("UPDATE data SET status=? WHERE id=?"); $statement->bind_param('si', $status, $_GET['id']); $result = $statement->execute(); header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); break; } После нажатия на одобрить или отказать отобразилась страница с переменной $today
Код (PHP): echo '<td>[url="'.$_SERVER['PHP_SELF'].'?action=up&id='.$item['id'].'"]Одобрить[/url]</td>'; После нажатия на ссылку страница перезагружается Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Передаётся. После обновления данных страница перегружается. Код (PHP): header( 'Location: '.$_SERVER['PHP_SELF'] ); Но без переменной $today
Генерируй ссылку для перенаправления с параметром today http://php.ru/manual/function.http-build-query.html