Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wstawianie elementow sesji do tabeli
Forum PHP.pl > Forum > PHP
plcm
witam czy ktos jest w stanie powiedziec mi gdzie lezy blad
mam tabele zalgowani w ktorej jest pole login_user i chcialbym aby
zostal wpisany w to pole login uzytkownika ktory kliknal przycisk "dodaj"

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. </head>
  7. <?php
  8. include 'db.php';
  9. ob_start();
  10. session_start(); // rozpoczęcie sesji
  11. ?>
  12.  
  13. <?php
  14.  
  15. if (isset($_SESSION['login'])) {
  16.  
  17. if($_POST['dodaj]){
  18. $query= "INSERT INTO zalogowani (login_user)
  19. VALUES ('.$_SESSION['login'].');
  20. }
  21. }
  22. echo 'twoj login zostal dodany do bazy'
  23. else {
  24. echo 'operacja sie nie powiodla'
  25. }
  26. ?>
  27. <input name="Dodaj" type="submit" id="dodaj" value="Dodaj">&nbsp;
  28. </body>
  29. </html>
viking
A jaki masz problem? Ja tu widzę błąd składni w linii 19.
plcm
strone z tym calym kodem umiescilem w linku do ktorego sie wchodzi ze strony glownej
po wejsciu wyswietla sie

Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /virtual/j/a/jakisside.ugu.pl/inny.php on line 22

Parse error: syntax error, unexpected ')' in /virtual/j/a/jakisside.ugu.pl/inny.php on line 22

a docelowo chcialem zeby sie wyswietlala strona z przyciskiem ktory wywoluje funkcje dodania rekordu do tabeli co wczesniej i zwracala echo twoj login zostal dodany do bazy.
viking
No to już ci odpowiedziałem w poprzednim poście. Nawet po kolorowaniu składni to widać. Gdzie masz średniki na końcach linii?
Niktoś
W html5 trzeba domykać tagi.A gdzie masz tag form?
plcm
no wlasnie myslalem ze tag form jest tylko do formularzy a w moim przypadku uzytkownik nie musi nic wypelniac tylko nacisnac przycisk dodaj
viking
W HTML5 input można stosować gdziekolwiek w kodzie strony. W XHTML, a taki typ zdefiniowałeś, poprawny będzie wyłącznie w form.
plcm
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. </head>
  7. <?php
  8. include 'db.php';
  9. ob_start();
  10. session_start(); // rozpoczęcie sesji
  11. ?>
  12.  
  13. <?php
  14.  
  15. if (isset($_SESSION['login'])) {
  16.  
  17. if($_POST['dodaj]){
  18. $query= "INSERT INTO zalogowaniu (login_user) VALUES ('.$_SESSION['login'].');
  19. }
  20. }
  21. else {
  22. }
  23. ?>
  24. <form action='inny.php' method='post'>
  25. <input type='submit' value='Dodaj'>
  26. </form>
  27. </body>
  28. </html>


zrobilem tak i blad
Parse error: syntax error, unexpected T_STRING, expecting ']' in /virtual/j/a/jakisside.ugu.pl/inny.php on line 27
a w tej lini przeciez wszystko jest ok
to jest linia 27 <form action='inny.php' method='post'>
viking
To zamknij w końcu linię 19
if($_POST['dodaj']){
plcm
sorry, dobra dodalem ten cudzyslow i mam if($_POST['dodaj']){
teraz blad pojawia sie blad
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /virtual/j/a/jakisside.ugu.pl/inny.php on line 20
viking
Kurczę, usiądź do kursu PHP albo dokumentacji i poczytaj o podstawach. Nie będę za Ciebie poprawiał każdej linii. Jak sobie otwierasz " a zamykasz ' ciężko żeby działało.
plcm
Dobra poprawilem juz wszystko i wszystko jest pozamykane
i wtej chwili strona wyswietla mi taki blad

Parse error: syntax error, unexpected T_ELSE in /virtual/j/a/jakisside.ugu.pl/inny.php on line 24

jakis pomysl?

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. </head>
  7. <?php
  8. include 'db.php';
  9. ob_start();
  10. session_start(); // rozpoczęcie sesji
  11. ?>
  12.  
  13. <?php
  14.  
  15. if (isset($_SESSION['login'])) {
  16. if($_POST['dodaj'])
  17. {
  18. $query= "INSERT INTO zalogowaniu (login_user) VALUES ('".$_SESSION['login']."')";
  19. }
  20. }
  21. echo 'ok';
  22. else
  23. {
  24. echo 'nie';
  25. }
  26. ?>
  27. <form action='inny.php' method='post'>
  28. <input type='submit' value='Dodaj'>
  29. </form>
  30. </body>
  31. </html>
viking
Jaką składnię ma if/else? Dlaczego u ciebie jest if/echo/else? Dlaczego nie czytasz komunikatów jakie PHP wyświetla tylko dalej z podstawami podstaw bo składnią języka po raz kolejny piszesz na forum?
tolomei
@plcm, błędy mają opisy nie po to, aby irytować programistę, ale po to by pomagać mu je usuwać.

Po drugie, jak będziesz pisać kod nie używając wcięć to gwarantuję Ci, że co chwilę będziesz miał błędy składni. Programowanie to zajęcie dla ludzi zorganizowanych dbających o każdą spację i o każdą linię w kodzie.

Zacznij pisać dobry jakościowo kod i oszczędź czas dobrych ludzi, którzy tracą na Ciebie cierpliwość.

Pozdrawiam.
plcm
Dziekuje za wszystkie uwagi, zdaje sobie sprawe ze skladnia powinna wygladac if -> warunek -> wynik -> else ->wynik (echo) tylko wlasnie z tym jest problem ze chce aby to dzialalo w ten sposob if zalogowany->wyswietl przycisk-> if-> przycisk klikniety -> dodaj do bazy -> wyswietl komunikat (dodano do bazy)-> else-> wyswietl komunikat (nie zalogowany) i poprostu nie wiem jak to poprawnie zapisac jezeli ktos ma czas i cierpliwosc i wie jak to zrobic o prosze o pomoc
sebastian.rozmus
Error Ci mówi dokładnie co jest nie tak w Twoim kodzie, mianowicie to, że nie spodziewał się w 24 linijce instrrukcji else. Te echo przed else powinno być chyba przed klamerką zamykającą powyższy if
plcm
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. </head>
  7. <?php
  8. include 'db.php';
  9. ob_start();
  10. session_start(); // rozpoczÄ&#65533;cie sesji
  11. ?>
  12.  
  13. <?php
  14.  
  15. if (isset($_SESSION['login'])) {
  16. if($_POST['dodaj'])
  17. {
  18. $query= "INSERT INTO zalogowaniu (login_user) VALUES ('".$_SESSION['login']."')";
  19. }
  20. echo 'ok';
  21. }
  22. else
  23. {
  24. echo 'nie';
  25. }
  26. ?>
  27. <form action='inny.php' method='post'>
  28. <input type='submit' value='Dodaj'>
  29. </form>
  30. </body>
  31. </html>


Bardzo dziekuje poprawilem te echo i wstawilem przed nawias zamykajacy w koncu nie wyskakuje blad tylko ze teraz
jak wchodze na ta strone wyswietla mi sie napis jak jestem zalgowany 'ok' i przycisk 'dodaj' a jak nie jestem zalgowany to wyswietla 'nie' i przycisk 'dodaj' po nacisnieciu przycisku nie jest dodawany zaden rekord do bazy , a chcialem zeby dzialalo w ten sposob -> strona wyswietla przycisk i po nacisnieciu jezeli uzytkownik jest zalogowany rekord jest dodawany do bazy i zwracany napis 'ok' a jezeli uztkownik nie zalogowany to po nacisnieciu napis 'nie'
jak powinieniem to wlasciwie ustawic?

Jest ktos w stanie mi powiedziec jak to trzeba zrobic bo szukam na forach czegos podobnego i wszedzie sa wykorzystywane formularze tyle ze przy formularzu trzeba wypelnic pola a ja chce miec tylko przycisk bez pol na stronie ktory bedzie wstawial do tabeli zalogowaniu login uzytkownika . W tabeli zalogowaniu mam 2 pola id i login_user. Jeszcze raz prosze o pomoc

ok, temat do zamkniecia, juz wszystko dziala
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.