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
// 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();
?>
[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();
?>