przekazanie zmiennych z formularza i odświeżenie strony zwykłym HTML + PHP
Wyniki 1 do 8 z 8

Temat: przekazanie zmiennych z formularza i odświeżenie strony zwykłym HTML + PHP

  1. #1
    Debiutant
    Dołączył
    23-09-2012
    Wpisy
    8
    Punkty
    2

    Domyślny przekazanie zmiennych z formularza i odświeżenie strony zwykłym HTML + PHP

    Witam!

    Od jakiegoś czasu buduję serwis internetowy przy wykorzystaniu joomli 2.5 (takie było życzenie klienta). Ponieważ dla mnie joomla była nowością serwis tworzyłem w oparciu o własny panel administracyjny i powiązanie artykułów ze skryptami poprzez jumi.
    Obecnie mam za zadanie stworzyć moduł zamówień i natknąłem się na problem przesłania formularza z odświeżeniem strony. Strona z formularzem wylicza automatycznie kwoty, VAT itp, więc użycie standardowych rozszerzeń joomli do wysyłania formularzy nie wystarcza.

    Użycie jakiegokolwiek adresu lub pozostawienie pustego parametru action w formularzu wywołuje komunikat 404(Page not found).

    Czy jest jakikolwiek sposób na przesłanie formularza z danymi i odświeżenie strony bez konieczności tworzenia/użycia modułu czy komponentu ale wykorzystując jedynie czysty PHP/HTML + ew. zmienne systemowe?

    pozdrawiam
    Robert

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Debiutant
    Dołączył
    23-09-2012
    Wpisy
    8
    Punkty
    2

    Domyślny

    ok, temat nieaktualny - do usunięcia.

    okazało się, że to mój błąd, bo przesyłałem zmienną id metodą post a jednocześnie był wysyłany id artykułu metodą get. Po zmianie nazwy zmiennej wysyłanej postem wszystko działa
    Swoją drogą dziwne, że joomla nie widzi różnicy w zmiennych przesyłanych metodami post i get

  4. #3
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    Cytat Wysłane przez coolbob Zobacz wiadomość
    Strona z formularzem wylicza automatycznie kwoty, VAT itp, więc użycie standardowych rozszerzeń joomli do wysyłania formularzy nie wystarcza.
    Cytat Wysłane przez coolbob Zobacz wiadomość
    Swoją drogą dziwne, że joomla nie widzi różnicy w zmiennych przesyłanych metodami post i get
    W oby tych przypadkach może twoja wiedza na temat Frameworku Joomla nie jest wystarczająca aby poradzić sobie z tym problemem
    Joomla potrafi rozróżnić get od posta - nie ma z tym problemu tylko może nie umiesz wyciągnąć tych danych

  5. #4
    Debiutant
    Dołączył
    23-09-2012
    Wpisy
    8
    Punkty
    2

    Domyślny

    Cytat Wysłane przez KES Zobacz wiadomość
    W oby tych przypadkach może twoja wiedza na temat Frameworku Joomla nie jest wystarczająca aby poradzić sobie z tym problemem
    Joomla potrafi rozróżnić get od posta - nie ma z tym problemu tylko może nie umiesz wyciągnąć tych danych
    Pewnie masz rację i nie wstydzę się tego przyznać. Wciąż jestem totalnie zielony w Joomla api. Przymierzam się do nauki ale niestety wciąż brak mi na to czasu...

  6. #5
    Debiutant
    Dołączył
    06-03-2013
    Wpisy
    2
    Punkty
    2

    Domyślny

    Chyba podobny przypadek. Po wrzuceniu kodu do jumi (używam komponentu), po naciśnięciu OBLICZ wyskakuje błąd 404. Co może być nie tak?

    Kod PHP:
    <head>

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

      <title>Formularz</title>

    </head>

    <body>

      <form action="./obliczenia.php?id=send" method="post">

      <div>
        <select name="input">
            <option value="ETRF89">ETRF89</option>
            <option value="ETRF2000">ETRF2000</option>
        </select> 
        UKLAD WEJSCIOWY 

        <select name="output">
            <option value="ETRF89">ETRF89</option>
            <option value="ETRF2000">ETRF2000</option>
        </select>
        UKLAD WYJSCIOWY <br />
    <br />
    <select name="parametry">
            <option  value="6">6</option>
            <option  value="7">7</option>
        </select>
        Ilosc parametrow <br />
    <br />

      Podaj wspolrzedne:   <input name="wspolrzedne" value="" /><br /><br />

     
    <?php
    if($_GET['id']=='send')
    {
        
        
    $wybor1 $_POST['input'];
        if (
    $wybor1 == "ETRF2000")
            
    $a 1;
        else
            
    $a = -1;

        
    $tp7 = [-0.075363702832755*$a,
                -
    0.327912750510101*$a,
                
    0.478988127122265*$a,
                
    6.65087484122395*pow(10,-8)*$a,
                -
    4.92351600188263*pow(10,-8)*$a,
                -
    7.42616035417211*pow(10,-9)*$a,
                
    0.999999947939167*$a];

        
    $tp6 = [-0.267746544578277*$a,
                -
    0.395623284572547*$a,
                
    0.218097917583842*$a,
                
    6.65087480030247*pow(10,-8)*$a,
                -
    4.92351597446133*pow(10,-8)*$a,
                -
    7.42616013752914*pow(10,-9)*$a,
                
    1];

        
    $wybor2 $_POST['parametry'];
        if (
    $wybor2 == 6
            
    $tp $tp6;
        else
            
    $tp $tp7;

        
    $wspol $_POST['wspolrzedne'];
        
    $tab explode(","$wspol);
        
        
    $out[0]=$tp[0]+$tp[6]*((cos($tp[4])*cos($tp[5]))*$tab[0]+(sin($tp[3])*sin($tp[4])*cos($tp[5])+cos($tp[3])*sin($tp[5]))*$tab[1]+(-cos($tp[3])*sin($tp[4])*cos($tp[5])+sin($tp[3])*sin($tp[5]))*$tab[2]);
        
        
    $out[1]=$tp[1]+$tp[6]*((-cos($tp[4])*sin($tp[5]))*$tab[0]+(-sin($tp[3])*sin($tp[4])*sin($tp[5])+cos($tp[3])*cos($tp[5]))*$tab[1]+(cos($tp[3])*sin($tp[4])*sin($tp[5])+sin($tp[3])*cos($tp[5]))*$tab[2]);
        
        
    $out[2]=$tp[2]+$tp[6]*((sin($tp[4]))*$tab[0]+(-sin($tp[3])*cos($tp[4]))*$tab[2]+(cos($tp[3])*cos($tp[4]))*$tab[2]);


        echo 
    $out[0]."<br>";
        echo 
    $out[1]."<br>";
        echo 
    $out[2]."<br>";
    }
    ?>

      <input type="submit" value="OBLICZ" name="submit" id="send"/>


      </div>

      </form>

    </body>

    </html>

  7. #6
    Debiutant
    Dołączył
    23-09-2012
    Wpisy
    8
    Punkty
    2

    Domyślny

    Kod:
    ./obliczenia.php?id=send
    Możesz powiedzieć dokąd ma prowadzić ta ścieżka atrybucie action formularza? Jeśli do pliku obliczenia.php znajdującego się poziom wyżej to powinno być:
    Kod:
    ../obliczenia.php?id=send
    Zgubiłeś jedną kropkę...

  8. #7
    Debiutant
    Dołączył
    06-03-2013
    Wpisy
    2
    Punkty
    2

    Domyślny

    Przepraszam. Są to pozostałości po interwencji w skrypcie kolegi, który sprawdzał czy poza Joomla skrypt działa (działa). Tak więc nalezy by to zamienić na:
    Kod PHP:
    <form action="" method="post"
    i później

    Kod PHP:
    <input type="submit" value="OBLICZ" name="submit" 
    zgadza się? Mimo tych zmian, błąd pozostaje

  9. #8
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    @delilaah proponuję poczytać o strukturze Joomla, o jej możliwościach, bibliotekach itp. Zainteresuj się też klasą JFactory::getApplication();

Podobne tematy

  1. przekazanie zmiennej do formularza aiContactSafe
    przez kochoo na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 6
    Ostatni post/autor: 04-06-2013, 16:06
  2. Odświeżenie plików graficznych zainstalowanego szablonu
    przez ayano na forum Szablony, formatowanie wyglądu
    Odpowiedzi: 12
    Ostatni post/autor: 06-04-2012, 10:01
  3. "Odświeżenie" wszystkich styli w artykułach
    przez Enpeiks na forum Administracja - ogólne
    Odpowiedzi: 5
    Ostatni post/autor: 26-04-2011, 11:29
  4. przekazanie zmiennych z kontrolera do widoku
    przez tomixer na forum Programowanie pod Joomla!
    Odpowiedzi: 6
    Ostatni post/autor: 07-03-2010, 16:49
  5. Moduł ze zwykłym tekstem
    przez mino na forum Administracja Joomla!
    Odpowiedzi: 5
    Ostatni post/autor: 22-05-2008, 17:06

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •