Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]formularze z grafiką
Forum PHP.pl > Forum > Przedszkole
rafalito99
Witam

Mam zadanie do szkoły i nie mogę ruszyć do przodu. Po kliknięciu w formularzu na zdjęcie np . szpilki powinno mi sie wyswietlić Zamówiłeś szpilki ale nie za bardzo wiem jak to zrobić switchem.

Z góry dzięki za pomoc.

mój html jest ok:

  1.  
  2. <title>Sklep z obuwiem</title>
  3. </head>
  4.  
  5. <form action="sprawdz2.php" method="GET">
  6.  
  7. Chcę zamówić:<br/>
  8. <input type=image src="szpilki.jpg" width="130" height="150" alt="Szpilki" title="Szpilki"><br/><br/>
  9. <input type=image src="adidasy.jpg" width="130" height="150" alt="Adidasy" title="Adidasy"><br/><br/>
  10. <input type=image src="glany.jpg" width="130" height="150" alt="Glany" title="Glany">
  11.  
  12. </form>
  13.  
  14. </body>
  15. </html>


-----------------

ale cos nie tak z moim plikiem php:

  1. <html>
  2. <head>
  3.  
  4. <title>Zamówienie</title>
  5. </head>
  6. <body>
  7.  
  8. Zamówienie:
  9. <?php
  10. switch($_GET['image'])
  11. {
  12. case "szpilki.jpg":
  13. echo "Zamówiłeś szpilki";
  14. break;
  15. case "adidasy.jpg":
  16. echo "Zamówiłeś adidasy";
  17. break;
  18. case "glany.jpg":
  19. echo "Zamówiłeś glany";
  20. break;
  21. ?>
  22. </body>
  23. </html>
  24.  
Leihto
Hmm ja bym to zrobił bardziej tak:
  1. <title>Sklep z obuwiem</title>
  2. </head>
  3. <form action="sprawdz2.php" method="POST">
  4. Chcę zamówić:<br/>
  5. <input type="image" src="szpilki.jpg" width="130" height="150" alt="Szpilki" title="Szpilki" name="zamow" value="1"><br/><br/>
  6. <input type="image" src="adidasy.jpg" width="130" height="150" alt="Adidasy" title="Adidasy" name="zamow" value="2"><br/><br/>
  7. <input type="image" src="glany.jpg" width="130" height="150" alt="Glany" title="Glany" name="zamow" value="3">
  8. </form>
  9. </body>
  10. </html>


  1. <html>
  2. <head>
  3. <title>Zamówienie</title>
  4. </head>
  5. <body>
  6. Zamówienie:
  7. <?php
  8. switch($_POST['zamow'])
  9. {
  10. case 1:
  11. echo "Zamówiłeś szpilki";
  12. break;
  13. case 2:
  14. echo "Zamówiłeś adidasy";
  15. break;
  16. case 3:
  17. echo "Zamówiłeś glany";
  18. break;
  19. ?>
  20. </body>
  21. </html>
krzywy36
do każdego <input type=image... dodaj name="image" i value="wartosc", z tym że wartosc zmien na słowa odpowiadajace obrazkom np. szpilki, adidasy etc. Na koniec w switch w każdym case pozmieniaj to co masz na to co właśnie ustawiłeś jako wartosc w value="wartosc".

Edit: @Leihto mnie uprzedził wink.gif
rafalito99
próbowałem dwoma sposobami i efekt jest ten sam . nie wyskakuje żaden błąd ale nie nie działa instrukcja echo czyli po kliknięciu w jakieś zdjęcie wyświela się tylko Zamówienie: i nic poza tym
krzywy36
pokaż kod z którym próbujesz. Jaką masz wersje php?
rafalito99
skorzystałem z kodu od użytkownika Leihto

pierwszy plik:

  1. <html>
  2. <head>
  3. <title>Sklep z obuwiem</title>
  4. </head>
  5. <body>
  6. <form action="sprawdz3.php" method="POST">
  7. Chcę zamówić:<br/>
  8. <input type="image" src="szpilki.jpg" width="130" height="150" alt="Szpilki" title="Szpilki" name="zamow" value="1"><br/><br/>
  9. <input type="image" src="adidasy.jpg" width="130" height="150" alt="Adidasy" title="Adidasy" name="zamow" value="2"><br/><br/>
  10. <input type="image" src="glany.jpg" width="130" height="150" alt="Glany" title="Glany" name="zamow" value="3">
  11. </form>
  12. </body>
  13. </html>


----------

plik php

  1. <html>
  2. <head>
  3. <title>Zamówienie</title>
  4. </head>
  5. <body>
  6. Zamówienie:
  7. <?php
  8. switch($_POST['zamow'])
  9. {
  10. case 1:
  11. echo "Zamówiłeś szpilki";
  12. break;
  13. case 2:
  14. echo "Zamówiłeś adidasy";
  15. break;
  16. case 3:
  17. echo "Zamówiłeś glany";
  18. break;
  19. }
  20. ?>
  21. </body>
  22. </html>



------------

próbowałem znaleźć z której wersji php korzystam ale nie byłem w stanie tego ustalić

korzystam z krasnala 2.7 i notepad ++ 5.9.8
krzywy36
kod wygląda okej. Wstaw
  1. print_r($_POST);

przed switch() i zobacz co wyświetli.

Całkiem prawdopodobne, że używasz php w wersji 4 i masz włączone register_globals. Polecam zamiast krasnala używać XAMPP'a który w przeciwieństwie do krasnala jest ciągle rozwijany. Jeśli chcesz się dowiedzieć z jakiej wersji php korzystasz, skorzystaj z funkcji php_info().

Edit: sprawdziłem, kod działa więc to coś z Twoją konfiguracją.
spokoloko123
  1. <button name="szpilki" type="submit"><img src="szpilki.jpg"></button><br />


Obrazek zadziała jak przycisk. Z tym, że pomiędzy butonami możesz umieścić dowolny kod html.
rafalito99
spróbowałem z buttonem i teraz jest jak chciałem. dzięki smile.gif
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.