![]() |
![]() |
--Jaryn-- |
![]()
Post
#1
|
Goście ![]() |
Mam następujący problem. Chcę zrobić tak, że wyświetlają mi się dane z bazy danych, które już były wcześniej wczytane z innej strony i zostały zapisane do SESSION - to działa. Pragnę, aby wypisało to rzeczy na ekranie - czyli zmienne siedzi1, siedzi2, siedzi3. Następnie, jeżeli użytkownik poczuje taką dziką ochotę to może zminić te dane i nacinąć przycisk (dane zmieniają się też w bd). Strona ma się przeładować i wyświetlić to co nowego zostało zapisane. w kodzie jest użyte w dwóch różnych miejscach wyświetlanie.
Zobrazuję problem, bo nie wiem jak go poprawnie opisać. Jak to wygląda problem? //tekst który się wyświetla na ekranie. Wybrane przez Ciebie opcje z kim chcesz siedzieć to: 1. tak 2. 3. Login nr 1: moze Login nr 2: Login nr 3: Uaktulanij Priorytet waznosci od 1 do 3. 1. tak 2. 3. // Wpisałem przy Login nr 1: tekst "moze" Kliknąłem uaktualnij. Strona się przeładuje i wygląda to tak: 1. tak 2. 3. Login nr 1: tomek Login nr 2: Login nr 3: Uaktulanij Priorytet waznosci od 1 do 3. 1. moze 2. 3. //jak widać u góry się nic nie zmieniło. Na dole natomiast tak. W bazie danych teraz znajduje się "moze" Ponownie wpisuję nowy login: teraz tomek i jak to wygląda? 1. moze 2. 3. Login nr 1: Login nr 2: Login nr 3: Uaktulanij Priorytet waznosci od 1 do 3. 1. Tomek 2. 3. //W bazie danych znajduje się teraz Tomek. Chcę aby wpierw wyświetlały się aktualne dane, a pod nimi znajdował się formularz. CODE <?php [sql][/sql]
// rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent) ob_start(); // start sesji session_start(); // nagłówek echo '<h2>Strona główna</h2>'; $login=$_SESSION['login']; $connection = @mysql_connect('local', 'db', 'db') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); $db = @mysql_select_db('db', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); // jeśli user jest zalogowany if($_SESSION['logged']) { // wyświetlamy userowi jego dane echo 'Witaj '.$_SESSION['login'].'!<br />'; echo 'Twój ID to: '.$_SESSION['id'].'.<br />'; echo 'Wybrane przez Ciebie opcje z kim chcesz siedzieć to:<br />'; //To nie wiem czy jest potrzebne... $odp=mysql_query("Select siedzi1 from users where login='$login';") or die(mysql_error()); $siedzi1=mysql_fetch_array($odp); $odp=mysql_query("Select siedzi2 from users where login='$login';") or die(mysql_error()); $siedzi2=mysql_fetch_array($odp); $odp=mysql_query("Select siedzi3 from users where login='$login';") or die(mysql_error()); $siedzi3=mysql_fetch_array($odp); //Ale chyba nie... [php][/php] //Tutaj się wyświetlają stare dane. echo '1. '.$_SESSION['siedzi1'] .'<br />'; echo '2. '.$_SESSION['siedzi2'] .'<br />'; echo '3. '.$_SESSION['siedzi3'] .'<br /> <br />'; //... echo 'Zarejestrowałes się u nas: '.date("d.m.Y, H:i", $_SESSION['data_rejestracji']).'<br />'; echo '<form action="index.php" method="POST"> Podaj login zamówienia z ktorym chcesz siedziec przy stole: <br /> Login nr 1: <input type="text" name="usiedzi1"><br /> Login nr 2: <input type="text" name="usiedzi2"><br /> Login nr 3: <input type="text" name="usiedzi3"><br /> <input type="submit" name="aktu" value="Uaktualnij"> <br /><br /> Priorytet waznosci od 1 do 3. </form>'; if(isset($_POST['aktu'])) { $usiedzi1 = trim($_POST['usiedzi1']); if (empty($usiedzi1)) { echo 'Nie wprowadzono zmian na pozycji 1.<br />'; } else { mysql_query("Update users set siedzi1='$usiedzi1' where login='$login';") or die(mysql_error());; $_SESSION['siedzi1']=$usiedzi1; } } //Tutaj wyświetla się poprawnie echo '1. '.$_SESSION['siedzi1'] .'<br />'; echo '2. '.$_SESSION['siedzi2'] .'<br />'; echo '3. '.$_SESSION['siedzi3'] .'<br /> <br />'; //... echo '<a href="logout.php">WYLOGUJ</a>'; } else { echo 'Witaj!<br />'; echo '<a href="login.php">Zaloguj się</a> lub <a href="dodaj.php">zarejestruj nowe konto</a>'; } // koniec buforowania ob_end_flush(); ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
To jest tak zagmatwane, że nie mam pojęcia o co chodzi, może dałoby się nieco jaśniej? I jak wstawiasz kod to nie jako 'code' tylko chociażby 'php', bo później trzeba przewijać, a to uciążliwa sprawa.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.wikibooks.org/wiki/PHP/Zarządzanie_rekordami header()
Ten post edytował !*! 18.07.2012, 16:43:05 |
|
|
--jaryn-- |
![]()
Post
#4
|
Goście ![]() |
Dopiero zacząłem z php.
Mile widziane uwagi co do kodu. chodzi o to że, jest tak: 1. tak 2. 3. Login nr 1: tomek Login nr 2: Login nr 3: Uaktulanij Priorytet waznosci od 1 do 3. 1. tak 2. 3. ------- 1. tak 2. 3. Login nr 1: Login nr 2: Login nr 3: Uaktulanij Priorytet waznosci od 1 do 3. 1. tomek 2. 3. --------------------------- A ma być: 1. tak 2. 3. Login nr 1: tomek Login nr 2: Login nr 3: Uaktulanij ------ 1. tomek 2. 3. Login nr 1: Login nr 2: Login nr 3: Uaktulanij |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nikt tego nie zrozumie. Popatrz na link wyżej, tam przejdź też do kursu. Zarejestruj się, opisz dokładnie o co Ci chodzi, umieść kod w znacznikach i wtedy może coś z tego będzie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:26 |