+ Antworten
Ergebnis 1 bis 3 von 3

Thema: POST-Variablen nur für eingeloggte User?

  1. #1
    Neu an Board
    Registriert seit
    22.08.2013
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard POST-Variablen nur für eingeloggte User?

    Hallo,

    ich habe folgendes Problem:

    Wir als Verein verkaufen Tagestickets via Paypal. Die Kunden müssen/sollten vorher den AGBs und den Benutzungsregeln zustimmen.
    Aktuell wird diese Überprüfung nur per HTML5 durchgeführt. Das ist natürlich leicht umgehbar, deshalb möchte ich das auf von der Seite Prüfen lassen.

    Ich benutze Joomla 2.5.14 und DirectPHP 2.5, um php-Code in Beiträgen unterzubringen.

    Eigentlich funktioniert mein Code auch so wie er soll, jedoch werden die POST-Variablen offentsichtlich nur übertragen, wenn man auf der Webseite eingeloggt ist.

    PHP-Code:
    <?php
    $jinput 
    JFactory::getApplication()->input;
    $checkcheck $jinput->get('belehrung''0''INT');
    echo 
    $_SERVER['REQUEST_METHOD']; 
    echo 
    $checkcheck;
    if ((
    $_SERVER['REQUEST_METHOD'] == 'POST') && $checkcheck == '3') {
    echo 
    '<form action="https://www.paypal.com/de/cgi-bin/webscr" enctype="multipart/form-data" method="post" name="paypal">

    ..... HIER STEHT MEIN PAYPAL FORUMLAR .....

    } else {
    echo '
    <form action="';
    echo JURI::current();
    echo '" 
    enctype="multipart/form-data" method="post" name="disclaimer">';

    .... HIER STEHT DER DISCLAIMER ....

    <input type="text" name="belehrung" value="0" style="display:none;"><input type="checkbox" name="belehrung" value="3">>
    <input type="submit" value="Weiter">'
    ;
    }
    ?>

    echo $_SERVER['REQUEST_METHOD'];
    echo $checkcheck;

    Habe ich zu Testzwecken dort stehen.
    Folgendes Verhalten habe ich:

    Ist man eingeloggt und lädt die Seite: Belehrung = 0 / Method = GET
    Ist man eingeloggt und schickt das Formular ab ohne die checkbox anzuklicken: Belehrung = 0 / Method = POST
    Ist man eingeloggt und schickt das Formular mit angeklickter checkbox ab: Belehrung = 3 / Method = POST

    => soweit, so gut!

    Ist man nicht eingeloggt.......... IMMER: Belehrung = 0 / Method = GET

    Was mache ich falsch?

    VIELEN DANK!

  2. #2
    Neu an Board
    Registriert seit
    22.08.2013
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich hab jetzt nochmal rumgespielt... mit "Jumi" klappts endlich.
    Mensch, die Erkenntnis hat mich locker 2 Tage gekostet O_o

    Weiß jemand warum DirectPHP dabei so rumspinnt?

  3. #3
    War schon öfter hier
    Registriert seit
    11.01.2009
    Beiträge
    128
    Bedankte sich
    14
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Naja PHP in Beiträgen ist prinzipiell sowieso nicht die eleganteste Lösung. Vielleicht solltest du daraus ein Component machen.

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein