Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP] przesyłanie z jednego widoku do drugiego
Mimi
post 30.12.2015, 00:34:40
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Cześć smile.gif
Potrzebuję po wpisaniu danych do formularza pierwszego (widoku pierwszego) aby wyświetliły się one w nowym widoku ( już bez żadnych okienek gdzie można coś wpisać) na końcu ma być tylko guzik akceptuj który przesyła to do bazy danych. Niestety nie wiem gdzie popełniam błąd. I nie mogę przesłać tego do widoku drugiego sad.gif
index.php :
  1. <?php
  2.  
  3. include 'pierwszy.html.php' // pierwszy widok
  4.  
  5. if (isset($_GET['nazwisko']) && isset($_GET['imie']) and isset($_GET['pesel']) and isset($_GET['termin']) and isset($_GET['klasa']) )
  6.  
  7. $nazwisko=$_GET['nazwisko'];
  8. $imie=$_GET['imie'];
  9. $pesel=$_GET['pesel'];
  10. $termin=$_GET['termin'];
  11. $klasa=$_GET['klasa']; // koniec warunku
  12.  
  13. {
  14. include 'drugi.html.php'; // wyświetlenie danych
  15. }
  16. else
  17. {
  18. include 'form.html.php'; // jeśli nie ma danych
  19. }
  20. ?>


pierwszy.html.php (pierwszy widok)
  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <meta charset="UTF-8">
  4. <title>Document</title>
  5. </head>
  6.  
  7. <form action="drugi.html.php" method="GET">
  8.  
  9. Nazwisko <input type="text" name="nazwisko" /> </br>
  10. Imię <input type="text" name="imie" /> </br>
  11. Pesel <input type="text" name="pesel" /> </br>
  12. Termin <input type="date" name="termin" /> </br>
  13. Wybór klasy </br>
  14. klasa pierwsza <input type="radio" name="nazwa" value="1" />
  15. klasa druga <input type="radio" name="nazwa" value="2" /></br>
  16.  
  17. <input type="submit" class="button" onclick="drugi.html.php" value="OK" /> <!--wyświetlenie drugiego widoku-->
  18. </body>
  19. </html>
  20.  


Ten post edytował Mimi 30.12.2015, 00:35:35
Go to the top of the page
+Quote Post
olszam
post 30.12.2015, 00:58:20
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


index.php
13 linijka, nie w tym miejscu klamerka.

pierwszy.html.php
Kod
<input type="submit" class="button" onclick="drugi.html.php" value="OK" />

onclick to nie piszemy nazwy skryptów tylko kod javascirpt(głownie daną funkcję piszemy, która ma coś za zadanie robić)
Go to the top of the page
+Quote Post
Mimi
post 30.12.2015, 19:39:35
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Niestety nie wiem w którym miejscu miała by być klamerka. Próbowałam w 3, 5 i 6 linijce.
Temat: Otwieranie stron z poziomu php Próbowałam zrobić to jak w tym zapytaniu (tylko używając else) ale dalej wyrzuca mi błąd, że nie spodziewa się if-a.

Jeśli wrzucę tutaj geta już nie ma błędu o tym, że nie spodziewa się if-a ale wyrzuca błą w linijce 8. Nie wiem jak inaczej mogłabym to zapisać.
  1. <?php
  2.  
  3. $strona = $_GET['pierwszy.html.php'];
  4.  
  5. include($strona."'pierwszy.html.php'");
  6.  
  7. if(isset($_GET['nazwisko']) && isset($_GET['imie']) and isset($_GET['pesel']) and isset($_GET['termin']) and isset($_GET['klasa'])
  8. $nazwisko=$_GET['nazwisko'];
  9. $imie=$_GET['imie'];
  10. $pesel=$_GET['pesel'];
  11. $termin=$_GET['termin'];
  12. $klasa=$_GET['klasa'];)
  13. {
  14. include 'drugi.html.php';
  15. }
  16. else
  17. {
  18. include'form.html.php';
  19. }
  20. ?>


Ten post edytował Mimi 30.12.2015, 19:46:16
Go to the top of the page
+Quote Post
viking
post 30.12.2015, 19:52:03
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Źle zamknięty if - brakuje ), jest za to w 12 linii, źle otwarty { w linii 13.
Pracuj na sensownym IDE typu Netbeans, takie błędy będą od razu widoczne.


--------------------
Go to the top of the page
+Quote Post
Mimi
post 30.12.2015, 20:39:35
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Nie bardzo rozumiem, jak mam źle otwarty {? w sublimie normalnie podkreśla {} w linijkach 13 i 15 oraz 18 i 19.
Po tym jak poprawiłam to w if-ie nie spodziewa się elsa
Go to the top of the page
+Quote Post
viking
post 30.12.2015, 20:44:04
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


To co według Ciebie mają robić linie 8-12 w tym miejscu? Masz źle zamknięty blok deklaracji ifa )

Nie ma co prawda PSR na długie ify ale analogicznie do pozostałych przykładów najbardziej czytelny będzie zapis
  1. if (
  2. Isset() and
  3. Condition2 and
  4. C3
  5. ) {
  6. ...
  7. }


Ten post edytował viking 30.12.2015, 20:57:20


--------------------
Go to the top of the page
+Quote Post
Mimi
post 30.12.2015, 22:48:27
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Pomimo, że zmieniłam tak jak napisałeś dalej nie spodziewa się elsa. Czy w tym momencie otwarcie linijki 13 jest okej?
  1. <?php
  2.  
  3. $strona = $_GET['pierwszy.html.php'];
  4.  
  5. include($strona."'pierwszy.html.php'");
  6.  
  7. if(isset($_GET['nazwisko']) && isset($_GET['imie']) and isset($_GET['pesel']) and isset($_GET['termin']) and isset($_GET['klasa']) and
  8. $nazwisko=$_GET['nazwisko'] and
  9. $imie=$_GET['imie'] and
  10. $pesel=$_GET['pesel'] and
  11. $termin=$_GET['termin'] and
  12. $klasa=$_GET['klasa'] );
  13. {
  14. include 'drugi.html.php';
  15. }
  16. else
  17. {
  18. include'form.html.php';
  19. }
  20.  
  21. ?>


Ten post edytował Mimi 30.12.2015, 23:22:12
Go to the top of the page
+Quote Post
olszam
post 30.12.2015, 23:53:16
Post #8





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


A chwila to niżej to też do ifa? Wybacz sam nie zauważyłem bo myślałem że te gety przypisujesz do zmiennych. Teraz masz dobrze ale że nadal nie zwraca ci elsa? może zdebuguj zmienne i gety bo tam musi być problem, albo spróbuj dać jakiś lewy warunek i zobacz czy ci pójdzie albo zamiast "=" daj "==".
Go to the top of the page
+Quote Post
Mimi
post 30.12.2015, 23:59:43
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Dodałam == ale nic to nie zmieniło sad.gif

  1. <?php
  2.  
  3. $strona = $_GET['pierwszy.html.php'];
  4.  
  5. include($strona."'pierwszy.html.php'");
  6.  
  7. if ($strona = $_GET['pierwszy.html.php']);
  8. {
  9. include 'drugi.html.php';
  10. }
  11. else
  12.  
  13. {
  14. include'form.html.php';
  15. }
  16.  
  17. ?>
  18.  

Zrobiłam coś takiego ale nadal nie spodziewa się elsa

Ten post edytował Mimi 31.12.2015, 00:01:47
Go to the top of the page
+Quote Post
viking
post 31.12.2015, 00:25:41
Post #10





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


W zasadzie chyba pierwszy raz to powiem ale programista z Ciebie nie będzie. Nie rozumiesz zupełnie co się w kodzie dzieje. Wróć do podstawowych spraw. Przypisywanie do zmiennych, składnia bazowa. Bo tak można jeszcze długo wskazywać błędy ale to nie będzie chodzić. Możesz zacząć od skomentowania linia po linii tego kodu.


--------------------
Go to the top of the page
+Quote Post
viking
post 31.12.2015, 00:38:12
Post #11





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Co oznacza $_GET? Skąd te dane pochodzą? Jaka jest różnica między = a ==? Co ma robić kod od linii 9 do 13?


--------------------
Go to the top of the page
+Quote Post
Mimi
post 31.12.2015, 00:41:02
Post #12





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


Get służy do przesłania danych w pasku a dolar oznacza zmienną
Takie dane mamy podane w zadaniu które mamy zrobić
= jest to przyrównanie a == znaczy, że jeśli mamy np: $a == $b to a i b są takimi samymi wartościami
kod w linijkach 9-13 : jesli te dane są wpisane do formularzu czyli warunek jest spełniony są przesyłane do następnego widoku
edit
= znaczy że jakiejś zmiennej nadajemy pewną wartość np $a = 2

Ten post edytował Mimi 31.12.2015, 00:45:19
Go to the top of the page
+Quote Post
viking
post 31.12.2015, 00:53:22
Post #13





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Gdzie w formularzu z pierwszego posta definiujesz $_GET['pierwszy.html.php']?
W pierwszym poście, w linii 3 na końcu brakuje; przed komentarzem oczywiście.
Wyrzuć linie 7-11. Spróbuj zacząć od tych paru linijek.


--------------------
Go to the top of the page
+Quote Post
Mimi
post 31.12.2015, 01:27:35
Post #14





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.11.2015

Ostrzeżenie: (0%)
-----


W pierwszym poście jeszcze nie wiedziałam, że muszę to zdefiniować ale później już to robiłam. Podobnie w następnych postach mam średnik.

Wyrzuciłam te linijki i już działa i ładuje się widok pierwszy. Kiedy wpiszę dane otwiera się widok drugi (jeszcze go nie zrobiłam więc wyświetla się czysta strona). Na razie znowu wyrzuca błąd, że nie spodziewa się elsa po wklejeniu linijek 7-11. Jeszcze co jest źle ale postaram się znaleźć błąd.

Kiedy zakomentuję else oraz include 'form.html.php'; działa dobrze
  1. <?php
  2.  
  3. $strona = $_GET['pierwszy.html.php'];
  4.  
  5. include('pierwszy.html.php');
  6.  
  7. if (isset($_GET['nazwisko']) && isset($_GET['imie']) and isset($_GET['pesel']) and isset($_GET['termin']) and isset($_GET['klasa']) )
  8.  
  9. {
  10. include 'drugi.html.php';
  11. }
  12. else
  13. {
  14. include 'form.html.php';
  15. }
  16. ?>
  17.  


Ten post edytował Mimi 31.12.2015, 01:37:54
Go to the top of the page
+Quote Post
viking
post 31.12.2015, 08:00:24
Post #15





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Najpierw odpowiedź sobie na pytanie co ma się znaleźć w pliku drugi. I zazwyczaj dane z form wysyła się POST.


--------------------
Go to the top of the page
+Quote Post
phpion
post 31.12.2015, 08:53:38
Post #16





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




We wszystkich kodach masz ten sam błąd, jedynie w ostatnim go nie ma, ale piszesz, że jednak nadal się rzuca. Może zatem przy wklejaniu na forum popełniłaś błąd. Chodzi o średnik na końcu warunku:
  1. if (...); <- tutaj

On w tym momencie kończy Ci instrukcję więc else powoduje błąd. Sprawdź to:
  1. if (1 == 1); {
  2. echo 'tak';
  3. }
  4. else {
  5. echo 'nie';
  6. }

i wersję bez średnika:
  1. if (1 == 1) {
  2. echo 'tak';
  3. }
  4. else {
  5. echo 'nie';
  6. }

Pierwsza rzuci błędem, druga nie. Generalnie samo dodanie średnika na końcu if'a nie jest błędem samym w sobie, można tak zrobić, ale wówczas warunek w zasadzie nic nie będzie robił smile.gif
  1. if (1 == 1);
  2.  
  3. echo 'test';
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 07:30