mam plik index.plp z prostym formularzem który zapisuje dane do mysql poprzez plik save.php
po zapisaniu danych użytkownik pozostaje na stronie save.php i dopiero po kliknięciu linku powrotnego otwiera index.php. jak zrobić automatyczny zapis i powrót bez klikania? próbowałem header("index.php"); ale to nie działa. ktoś powiedział że header powinien być na samej górze skryptu ale nie bardzo rozumiem jak to powinno wyglądać.
plik save.php wygląda tak:
<?php function connect() { $dbhost = "dane"; $dbuser = "dane"; $dbpass = "dane"; $dbname = "dane"; $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or http://www.php.net/die($conn->connect_error); return $conn; } $conn = connect(); $query = "SELECT * FROM tasks"; $polacz = $conn->query($query); $conn->set_charset("utf8"); if ($polacz) { $sqlsave = "INSERT INTO tasks VALUES (NULL, '$author', '$added', '$modified', '$task', '$date', '$time', '$list', '$members', '$category', '$taskorder')"; $q = $conn->query($sqlsave); http://www.php.net/echo "<center>"; http://www.php.net/echo "zadanie zapisane"; http://www.php.net/echo "<br/>"; http://www.php.net/echo "<a href='http://localhost/tasks/'>tasks</a>"; http://www.php.net/echo "</center>"; # header("Location:index.php"); } else { http://www.php.net/echo "problem"; } $conn->close(); ?>
Header nie musi być na samej górze - nie może być nic wcześniej do przeglądarki wysłane a ty robisz echo. Włącz też raportowanie błędów. Dodatkowo pamiętaj o SQL injection.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)