Hallo
Ich habe eine eigene extension welche ein, von einem externen Script via html form gesendetem, Post Array () annehmen soll.
Die extension / seite hat aber immer ein leeres Post (oder auch Get) Array.
Ich gehen davon aus, dass es sich um ein Sicherheitsmechanismus handelt, welches die Post / Get arrays von extern löscht. Lässt sich dieser irgendwie umgehen oder ausschalten?
besten Dank
el_migu_el
Hallo,
das GET-Array sollte sich ja leicht nachvollziehen lassen, da hier die Angaben ja in der URL übermittelt werden.
Kannst du eventuelle dein php posten? Hast du es auch mit $_GET und $_POST versucht?
Liebe Grüße,
Nicole
Hallo Nicole,
Ja ich habe es auch mit dem GET versucht, (ein eifaches [url]?test=hallo) welches radikal wegrasiert wurde.
Da es sehr viel Code ist habe ich am anfang der extensionen Test gemacht
... function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj=1;
$content .= '<!-- +1+1+ '.$_POST.' '.count($_POST) .' -->';
foreach( $_POST as $key => $value ) {
$content .= "<!-- *** $key | $value -->";
}
...
die Ausgabe im HTML ist leer
...
<!-- +1+1+ Array 0 --><h1>
...
Das POST sowie GET Array sind 100% abgefüllt, da ein php-Script welches nur ein print_r($_POST) macht alle Daten ausgibt. Ich muss also davon ausgehen, dass Typo3 da was mit dem Array macht. Muss dazu sagen das ich kein Typo3-Kenner bin.
Danke Dir und allen folgenden
liebe grüsse
Michel
Hallo,
ein Get, welches "weggerissen" wird, hört sich verdammt stark nach ner Weiterleitung an. Und das würde auch erklären, warum keine POST-Variablen übergeben werden.
Du hast gesagt, dass es mit print_r($_POST) geklappt hat, aber wenn ich das richtig verstehe, dann nicht in der Typo3 Umgebung oder? Kann es sein, dass die Adresse durch nen weiteren php-header weitergeleitet wird?
Liebe Grüße,
Nicole
Hallo Nicole,
du verstehst das genau richtig 🙂
und genau sowas denke ich mir eben auch,
ich mache in meiner extension keine Weiterleitung oder ähnliches.
Die extension kann zb GET Variablen welche sie sich selber (PHP_SELF) übergibt,
sehen (bzw sie existieren noch), jedoch von einem externen Script nicht mehr.
Dies veranlast mich zur Annahme das Typo3 einen Sicherheitsmechanismus hat,
welcher genau dies verhindert. Ansich ist das ja eine gute Sache, nur in meinem
speziellen Fall jetzt leider nicht 🙁
danke vielmals für deine Hilfe Nicole
Hallo,
also ganz ehrlich glaube ich nicht, dass Typo3 so einen Schutz besitzt, da ich über die extension php_page_script oder so ähnlich, weiß grad nicht genau) auch Formulareingaben überprüfe etc...
Liebe Grüße,
Nicole
Hallo,
Ihr könnt Variablen an Euer Script nur übergeben wenn Ihr sie richtig benennt.
Hier ein Beispiel:
$meineLinkConf=array(
"no_cache" => 0,
"parameter" => uid_der_zielseite,
"additionalParams" => "&extensionName_pi1[VariablenNamen]= meinWert",
"useCacheHash" => 1);
$meinLink = $this->cObj->typolink('Name_des_links', $meineLinkConf);
"&extensionName_pi1[VariablenNamen]= meinWert wird dann an Eure URL angehängt.
Auswerten könnt Ihr den übergebenen Wert dann mit:
$this->piVars['VariablenNamen']
So sieht dass dann in der Praxis aus: http://www.cineplex.de/index.php?id=423&tx_detailseite_pi1[fid]=7146&cHash=71adaf7a77
Eine Doku dazu gibt es aber auch irgendwo auf der T3.org...
der André
das Problem ist ganz anderer Natur - wenn die Seite gecachet ist, holt er sie aus dem Cache und daher kommen auch die POST oder GET nicht an.
So funktioniert es immer:
Die Parameter sollten aber mit der Typoeigenen Funktion ausgelesen werden:
t3lib_div::_GP('varname')
Dabei ist es egal ob es GET oder POST ist, GP steht für GETPOST
Das Beispiel von crimson bezieht sich auf Extensioneigene Links, wobei der richtige Präfix
tx_extname_pi1['varname']
lautet.
Hallo steffenk,
Das wars anscheinend wirklich mit dem Cache!
Manchmal sieht man den Wald vor lauter Bäumen nicht :o
Besten Dank
...auch für die kleine Lernhilfe betreffend 'Auslesen von GP'
liebe Grüsse
Michel