Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP][HTML]naprawde dziwny problem z przyciskiem, czyzby nierozwiazywalny?
Gallareton
post
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Ostatnio mam ciągle problemy z tym, że jedne przyciski mi działają, a drugie nie.

  1. <?php
  2. if($rek == 0)
  3. include('plik.php')
  4. else if($rek > 0)
  5. echo '<center><form action="" method="post"><input type="submit" value="Zobacz" name="zobacz"></form>' ;
  6. if($_POST['zobacz'] == true) {
  7. echo $text
  8. }
  9. ?>


Tak mniejwięcej wygląda kod. Na stronie wyświetla się odpowiedni przycisk, lecz nie działa. Już od dłuższego czasu szukam tu jakiegoś błędu składni, czy innego, ale wciąż nie mogę pojąć co tu nie działa.

Ten post edytował Gallareton 22.01.2009, 18:33:03
Go to the top of the page
+Quote Post
Gacek89
post
Post #2





Grupa: Zarejestrowani
Postów: 77
Pomógł: 8
Dołączył: 2.11.2007
Skąd: Katowice

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


<form action="" method="post"><imput type="hidden" name="zobacz" value="true"><input type="submit" value="Zobacz" ></form>
Go to the top of the page
+Quote Post
Gallareton
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Spróbowałem tego i wciąż nie działa (poprawiłem imput na input)
Go to the top of the page
+Quote Post
bartg
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


To nic nie zmienia..

Może dodaj akcje do forma, co? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Gallareton
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Dotychczas wszystkie przyciski robiłem w ten sposób (kiedys w action miałem nazwę pliku) i 99% działało bez problemu. Ostatnio wziąłem się do roboty, kopiowałem "stare" przyciski, zmieniałem zmienne i już nie działa. Czasem przycisk działał, a kiedy dodałem do niego zapytanie mysql przestawał działać. Najgorsze jest to, że po usunięciu dodanego przed chwilą zapytania przycisk i tak nie działał. Czy to może być wina mojego komputera? (ostatnio zachowuje się dość dziwnie)
Go to the top of the page
+Quote Post
bartg
post
Post #6





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


Raczej nie...

Już wiem:
  1. <?php
  2. if(!empty($_POST['zobacz'])) {
  3. echo $text
  4. }
  5. ?>

Nie zauważyłem tego wcześniej, a po prostu wartość POST'a nie równa sie true

Ten post edytował bartg 21.01.2009, 18:44:46
Go to the top of the page
+Quote Post
Gallareton
post
Post #7





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Dobra, kapuje że to mógł być błąd tego typu i zaraz sprawdzę czy będzie działać. Ale w takim razie potrafi ktoś wyjaśnić jak ja to zrobiłem, że wszystkie inne przyciski działają? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ojć... płacz, zgrzytanie zębami, error 404 i request timeout (2 ostatnie niedosłownie)... nie działa ...

Może jeszcze jakieś pomysły? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Gallareton 21.01.2009, 20:09:26
Go to the top of the page
+Quote Post
Pilsener
post
Post #8





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


  1. <?php
  2. if($rek == 0)
  3. include('plik.php')
  4. else if($rek > 0)
  5. echo '<center><form action="" method="post"><input type="submit" value="Zobacz" name="zobacz"></form>' ;
  6. if($_POST['zobacz'] == true) {
  7. echo $text
  8. }
  9. ?>


Cytat
Ojć... płacz, zgrzytanie zębami
- bo:

1. Używaj klamer w instrukcjach warunkowych
2. Nie polecam nadawania zmiennym wartości identycznych ze słowami kluczowymi i nazwami funkcji w PHP
3. Radzę dać print_r($_POST) i zobaczyć, co jest kluczem, a co wartością w tablicy $_POST
4. Do sprawdzenia, czy przycisk został kliknięty:
  1. <?php
  2. if(!empty($_POST['nasz_przycisk'])){
  3. //kod
  4. }
  5. ?>
- standardowo używa się empty na wypadek, gdyby tablica została wysłana, ale była pusta lub wartość była = 0.
5. I wklejaj co zrobiłeś, bo płacz i zgrzytanie zębami - nie można się domyśleć, co tam kombinujesz.
Go to the top of the page
+Quote Post
Gallareton
post
Post #9





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Ad. 1 Wybaczcie, postaram się używać, wiem że to wpływa na przejrzystość kodu
Ad. 2 Normalnie tego nie robię. Tylko kiedy piszę coś dla testu. (a i wtedy nieraz zmieniam dla pewności)
Ad. 3 Przycisk "zostaje przyciśnięty", ale nie wykonuje się kod w nim zawarty... Siłą rzeczy, jeśli printa wpiszę wew. instrukcji if() to nie wyświetli się nic, a wpisanie tego printa w dalszej części kodu zawsze powoduje wyświetlenie "Array ()"
Ad. 4 i 5 Właśnie taką instrukcję wpisałem, uznałem że nie ma sensu wklejenie tego samego co wy, w następnym poście. (oczywiście wciąż nie działa...)

Ma ktoś może jeszcze jakiś pomysł, co jest nie tak?

Ten post edytował Gallareton 23.01.2009, 21:24:07
Go to the top of the page
+Quote Post
Pilsener
post
Post #10





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Pomysłów mam bez liku, ale wolałbym, abyś podał kod - inaczej szansę na to, że mój pomysł okaże się receptą na Twój problem oceniam na +/- 0,5%
Go to the top of the page
+Quote Post
Gallareton
post
Post #11





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


  1. <?php
  2. if($rek == 0){
  3.   include('plik.php');
  4. }
  5. else if($rek > 0) {
  6.   echo '<center><form action="" method="post"><input type="submit" value="Zobacz" name="zobacz"></form>' ;
  7. }
  8. if(!empty($_POST['zobacz'])) {
  9.   echo $text;
  10. }
  11. ?>


O to kod, który wciąż nie działa. Wpisywałem tego printa wewnątrz przycisku, ale tak jak nie wyświetliła się zmienna $text, tak i ten print się nie wykonał. Wpisywałem go również z ciekawości za przycisk i pod przyciskiem na stronie widniał napis "Array ()"

Dodam nawet, że wcześniej kod był inny niż pisałem, pod wzgledem zmiennych, nazw, itp. W tej chwili dla sprawdzenia, czy może mieć to jakiś związek z działaniem kodu, wkleiłem dokładnie to co w tym poście i naprawdę nadal nie działa. Poprawcie mnie jeśli się mylę, ale wydaje mi się, że składniowo jest wszystko ok i powinno działać... Ma ktoś jakiś pomysł dlaczego tak nie jest?

Po naciśnięciu przycisku, strona się najzwyczajniej odświeża.

Ten post edytował Gallareton 24.01.2009, 12:31:47
Go to the top of the page
+Quote Post
outsider
post
Post #12





Grupa: Zarejestrowani
Postów: 267
Pomógł: 36
Dołączył: 8.08.2008

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


Sprobuj zamknac inputa:
Kod
<input type="submit" value="Zobacz" name="zobacz" />


@edit

<center> - tego juz sie prawie nie uzywa

Ten post edytował *OuTSideR* 24.01.2009, 12:41:18
Go to the top of the page
+Quote Post
Gallareton
post
Post #13





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Bez zmian

@edit:
Masz na myśli, że używa się <p>, albo <div> i align=""?

Ten post edytował Gallareton 24.01.2009, 12:43:15
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a co to jest ten $text?

  1. <?php
  2. if($rek == 0){
  3.  include('plik.php');
  4. }
  5. else if($rek > 0) {
  6.  echo '<center><form action="" method="post"><input type="submit" value="Zobacz" name="zobacz"></form>' ;
  7. echo $text; //TU SIE WYSWIETLA?
  8. }
  9. if(!empty($_POST['zobacz'])) {
  10.  echo 'DUPA'.$text; //TU SIE WYSWIETLA DUPA A $text NIE? ZNACZY ZE PRZYCISK DZIALA !!!! NIE DZIALA CI $text, BO PEWNIE SKADS INDZIEJ JEST BRANE
  11. }
  12. ?>

Przeczytaj dołaczone kometarze do kodu

edit: a jak DUPA ci sie nie wyswietla, to znaczy ze ten formularz z przyciskiem masz zagniezdzony jeszcze w innym formularzu. Nie mozna zagniezdzac formularzy
Go to the top of the page
+Quote Post
Gallareton
post
Post #15





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


W tym else if() wyświetla się zmienna $text; po naciśnięciu przycisku nie wyświetla się napis DUPA, nie możliwe żeby formularz był zagnieżdżony, otworzyłem nawet kod strony, żeby się upewnić, istnieje na niej tylko jeden znacznik <form> i jeden </form>

Powtórzę jeszcze raz pytanie: czy to może być wina mojego komputera/systemu? Nie-działanie tego przycisku jest wbrew logice...
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
po naciśnięciu przycisku nie wyświetla się napis DUPA

Ok, to zrobmy to od dupy strony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
  1. <?php
  2. echo 'dupa testowa';
  3. print_r($_POST);
  4. if(!empty($_POST['zobacz'])) {
  5. echo 'DUPA'.$text;
  6. }
  7. ?>

A co teraz sie wyswietla?

edit: ale chyba juz widze ze wczesniej juz chyba probowales z tym print_r

Cytat
czy to może być wina mojego komputera/systemu
Kod nie ma prawa nie dzialac
Wykonaj tylko i wylacznie taki kod:
  1. <?php
  2. echo '<form action="" method="post"><input type="submit" value="Zobacz" name="zobacz"></form>' ;
  3. if(!empty($_POST['zobacz'])) {
  4. echo 'DUPA';
  5. }
  6. ?>

Tez nie dziala?
Go to the top of the page
+Quote Post
Gallareton
post
Post #17





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


"dupa testowaArray ( )", przycisk tak jak nie reagował, tak nie reaguje
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




dalem edycje posta poprzedniego. Weź wykonaj tamten kod co podalem, dokladnie taki sam, bez zadnych swoich dodatkow
Go to the top of the page
+Quote Post
Gallareton
post
Post #19





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Gliwice

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


Właśnie dlatego powiedziałem, że to jest wbrew logice... Usunąłem poprzednie ify i wkleiłem TYLKO TO... wciąż nie działa
Go to the top of the page
+Quote Post
nospor
post
Post #20





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No dobra, format c:/ i zabawa od nowa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Jaki system, jaka przeglądarka (probowales pod jedną czy pod roznymi), jakies firewalle? Masz to gdzies wystawione?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 11:44