![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, pierwszy błąd mam w sesji. Chce aby wejść na stronę mieli dostęp tylko użytkownicy o loginie 'aaa' i 'ddd'. Problem w tym że zawsze kieruje mnie na tą stronę a nie do logowania (na inne konto)
Kod <?php session_start(); if(isset($_SESSION['login'])=='aaa' || isset($_SESSION['login'])=='ddd') { echo '<p>Witaj, <b>'.$_SESSION['login'].'</b> <a href="wyloguj.php">Wyloguj</a></p>'; } else { header('Location: login.php'); } ?> Drugi mój błąd polega na tym że po naciśnięciu przycisku kod nie działa to znaczy nic się nie dzieje. Pod przyciskiem chce zrobić inserta do bazy. metodą $_Get pobieram wartość z formularza ( o ile dobrze tak kombinuje). Kod <table id="tabelawyszukaj_menu_lewe"> <tr align="center"> <td>Dodaj rekord do tabeli</td> </tr><tr> <td>Producent: <input type="text" name="producent" size="35" maxlength="35" /><br> Nazwa: <input type="text" name="nazwa" size="35" maxlength="35" /><br> Kolor: <input type="text" name="kolor" size="35" maxlength="35" /><br> Typ napedy: <input type="text" name="typ" size="35" maxlength="35" /><br> Cena: <input type="text" name="cena" size="35" maxlength="35" /><br> <input align="center" type="hidden" name="hidden" value="234"/> <input type="submit" name="dodajrekord" value="Wyślij" class="przycisk"/> </td> </tr> </table> <?php mysql_query("SET CHARSET utf8"); // polskie znaki mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki if (isset ($_POST['dodajrekord'])) { $producent = ($_GET['producent']); $kolor = ($_GET['kolor']); $typ = ($_GET['typ']); $nazwa = ($_GET['nazwa']); $cena = ($_GET['cena']); echo $producent; $zapytanie = "INSERT INTO dvd (producent,nazwa,kolor,typ,cana) VALUES ('$producent' ,'$nazwa' ,'$kolor', '$typ', '$cena')"; mysql_query("set names utf8;"); if ($rezultat = mysql_query ($zapytanie)) { mysql_close(); header ('Location: dvd.php'); exit(); } else { $komunikat = '<p>Przepraszamy za chwilowe usterki. Wysłanie zmian nie powiodło się. Spróbuj później.</p>'; } } ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
isset zwraca TRUE albo FALSE a ty z jakis dziwny powodow porownujesz to do tekstu 'aaaa'....
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czyli problem pierwszy rozwiazany, tak?
Co do drugiego: raz dane z forma pobierasz z $_POST a raz z $_GET..... No wez sie zdecyduj chlopie, albo forma wysylasz postem i pobierasz z POST albo wysylasz getem i wowczas masz pobierac z GET -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy rozwiązany.
Drugi ustawiony na post i nadal nic. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ale co ustawione na post?? Formularz ustawiles by wysylal dane postem? Odbierasz tez wszystkie dane z POST?
Temat: Jak poprawnie zada pytanie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Masz tu literówkę cana raczej nie masz tak nazwanego pola w BD ...
Warto używac takiego rozwiązania jak:
Wtedy widzisz czy samo zapytanie do bazy się powiodło. Poczytaj o obsłudze błędów. Ten post edytował kosmos 28.10.2013, 11:39:48 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za poprawę błędu ale nie tutaj leży problem. Zawsze po naciśnięciu przycisku nic się nie dzieje to znaczy nie wchodzi w tą część ifa gdzie trzeba. Po dodaniu w ifie else z echem pokazuje błąd tutaj if ( $_POST['dodajrekord'] ) oraz wyświetla echo ( else { echo 'nic'; }).
Kod if ( $_POST['dodajrekord'] )
{ $producent = ($_POST[producent]); $kolor = ($_POST[kolor]); $typ = ($_POST[typ]); $nazwa = ($_POST[nazwa]); $cena = ($_POST[cena]); $zapytanie = "INSERT INTO dvd (producent,nazwa,kolor,typ_napedu,cena) VALUES ('$producent' ,'$nazwa' ,'$kolor', '$typ', '$cena')" or die ('Błąd zapytania do bazy danych'); mysql_query("set names utf8;"); if ($rezultat = mysql_query ($zapytanie)) { mysql_close(); header ('Location: dvd.php'); exit(); } } else { echo 'nic'; } |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zacznij wkoncu uzywac poprawnego BBCODE. DLa kodu php jest to bbcode PHP!
Widac ewidentnie ze cos masz z formem.... ALbo nie wysylasz go postem, albo masz forma w formie, albo masz totalnie zwalonego forma. Nie wiem tego, bo nie pokazales calego kodu forma. Nigdzie nie widze <FORM... > ani </FORM> -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php
session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta charset="utf-8"/> <title>Generuj zestaw</title> <link rel="stylesheet" href="css/style.css"/> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> </head> <body> <div id="menu_lewe"> <p class="bold"> Menu:</p> <ul> <li><a href="dvd.php">Edytuj tabele dvd </a></li> </ul> </div> <?php mysql_query("SET CHARSET utf8"); // polskie znaki mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki if ( $_POST['dodajrekord'] ) { $producent = ($_POST['producent']); $kolor = ($_POST['kolor']); $typ = ($_POST['typ']); $nazwa = ($_POST['nazwa']); $cena = ($_POST['cena']); $zapytanie = "INSERT INTO dvd (producent,nazwa,kolor,typ_napedu,cena) VALUES ('$producent' ,'$nazwa' ,'$kolor', '$typ', '$cena')"; mysql_query("set names utf8;"); if ($rezultat = mysql_query ($zapytanie)) { mysql_close(); header ('Location: dvd.php'); exit(); } } else { echo 'nic'; } ?> <div class="formularz"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table id="tabelawyszukaj_menu_lewe"> <tr align="center"> <td>Dodaj rekord do tabeli</td> </tr><tr> <td>Producent: <input type="text" name="producent" size="35" maxlength="40" /><br> Nazwa: <input type="text" name="nazwa" size="35" maxlength="40" /><br> Kolor: <input type="text" name="kolor" size="35" maxlength="40" /><br> Typ napedy: <input type="text" name="typ" size="35" maxlength="40" /><br> Cena: <input type="text" name="cena" size="35" maxlength="9" /><br> <input type="submit" name="dodajrekord" value="Wyślij" class="przycisk"/> </td> </tr> </table> </form> </div> </body> </html> Ten post edytował graby0 28.10.2013, 12:27:02 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
isset już dodany. Po uruchomieniu strony nadal wyświetla echo 'nic'; lecz po naciśnięciu przycisku Wyślij rekord nie zapisuje się do bazy. Wynik echo z wypełnionymi danymi jest INSERT INTO dvd (producent,nazwa,kolor,typ_napedu,cena) VALUES ('Producent' ,'Nazwa' ,'Kolor', 'Typ', '1234'); . Rekord nie zostaje wpisany jednak do bazy mimo tego że gdybyś przekopiował ten kod do bazy na localhoscie to rekord zostaje zapisany bez problemu.
Ten post edytował graby0 28.10.2013, 13:38:45 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Poraz kolejny prosze o poprawne BBCODE PHP
Cytat . Po uruchomieniu strony nadal wyświetla echo 'nic'; No i prawidlowo.....Zas nie zapisuje sie bo masz jakis blad bazy. Podalem ci temat, ktory mowi jak to sprawdzac i wyswietlac bledy bazy.... Temat: Jak poprawnie zada pytanie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy problem
Po wyświetleniu strony, na ekranie drukuje Ci się echo 'nic', ponieważ ten warunek: nie jest spełniony i od razu lecisz do ELSE, a tam masz drukowanie. Drugi problem Zrób tak jak Ci podpowiedziałem wcześniej. Zamień to:
Tym:
Wtedy będziesz wiedział czy Twoje zapytanie jest błędne. Jeśli nie, trzeba szukać dalej. Pod jakim typem trzymasz cenę w bazie? Ten post edytował kosmos 28.10.2013, 13:49:26 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
ZAPYTANIE:INSERT INTO dvd (producent,nazwa,kolor,typ_napedu,cena) VALUES ('Producent' ,'Nazwa' ,'Kolor', 'Typ', '123'); BŁĄD:No database selected
Kurde sprawdzałem dosłownie wszystko po kilka razy prócz tej wybranej bazy. Brak słów. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie przejmuj się ... czasem najbardziej doświadczony ... może się wyłożyć na oczywistej głupocie np. w wyniku przemęczenia
![]() Tak jak mówiłem, poczytaj o obsłudze błędów. Pozdr. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 14:44 |