Thread Verfasser: Rolly8-HL
Thread ID: 1075
Thread Info
Es gibt 20 Beiträge zu diesem Thema, und es wurde 8448 Mal angesehen.
 Thema drucken
GET, POST & co.
Rolly8-HL
Habe mal eine Frage zu $_GET & $_POST, wie kann man mit href= ein $_POST senden.

Das hier geht ja mit GET, aber wie mit POST?

echo "Test - <a href='".FUSION_REQUEST."&amp;obst=Birne' >Test Obst</a><br />";
echo "<br />GET Obst - ".$_GET['obst']."<br />";
echo "<br />POST Obst - ".$_POST['obst']."<br />";

Hat da einer eine Idee?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
GUL-Sonic
Hallo Rolly8-HL,
so einfach ist das meines Wissens nach leider nicht, aber ich bin ja auch kein Profi Wink.

Anbei ein Link welche "Möglichkeiten" es gibt, vielleicht helfen Dir diese Informationen weiter:

http://www.php-kurs.info/tutorial-var...clude.html
M.f.G.
GUL-Sonic

Merke:
Wirklichkeit ist niemals so konsistent wie ein solider Wahn!
Wink
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Nein, nicht wirklich.

Andere Frage kann man es erzwingen das ein gesendetes GET als POST zu senden?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Wie ja schon der Name sagt, wird GET per URL übergeben und POST per Formular.

Du könntest ein Formular erstellen (alle GET in die FormAction) und die restlichen POST Parameter per Hidden Fields übergibst ;-)
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Das ist ja alles richtig, aber an bestimmten Stellen geht es nicht.
Wie soll ich das jetzt machen? ohne ein pid= als GET zu senden dafür aber ein POST?

add_to_head("<meta http-equiv='refresh'  content='2; url=viewthread.php?thread_id=".$_GET['thread_id']."&amp;pid=".$_GET['post_id']."#post_".$_GET['post_id']."' />\n");

Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Kommt drauf an was genau du machen willst .. paar Details wären nicht schlecht :-)
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Hallo, in erster Linie geht es mir gerade um "Wer ist hier?"

Damit die Adresse korrekt in die DB eingetragen werden kann sollte es auch identisch mit der Ansicht sein.

Zitat

/forum/viewthread.php?thread_id=2&pid=25
/forum/viewthread.php?thread_id=2&rowstart=20
/forum/viewthread.php?thread_id=2&highlight=Das+ist+die+zweite+Seite&pid=25

Habe hier 3 verschiedene Adressen in der DB zu stehen und alle sind vom selben Beitrag, was ja nicht vernünftig verglichen werden kann.

highlight= lasse ich schon über COOKIE laufen ist damit weg und klappt auch.
pid= lasse ich über forum_threads_list_panel mit POST laufen ist da jetzt ein Button nicht schön Link wäre mir lieber.
rowstart= bin ich noch bei.

So das zum Schluss nur noch

Zitat

/forum/viewthread.php?thread_id=2#post_25

In der Adresse übrig bleiben soll, #post_25 wird nicht in die DB übernommen.

Bei "Schnellantwort" lande ich in einer anderen Seite "Beitrag wurde erstellt" die Automatisch weiterleitet und die braucht pid=

Das bedeutet ich muss das Forum komplett umschreiben was ich so jetzt aber noch nicht wollte, bin bei meiner "P-Fusion Nobody".

Daher suche ich eine Möglichkeit (wenn es diese auch gibt) es Global zu lösen.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Wieso prüfst du nicht einfach, ob es sich ums Forum handelt .. und falls ja, automatisch anstatt FUSION_REQUEST eben viewthread.php in die Db einträgst und ausliest?
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Es geht hier ja nicht nur um das Forum, habe es Global für die gesamte Fusion genommen.

Habe mir diese function user_page_check_all() geschrieben.
Kann jetzt mit echo user_page_check_all(); in jeder XYZ Seite an jeder undenkbarer Stelle mir dieses jetzt anzeigen lassen wer sich genau an dieser stelle befindet.

Für Gäste & Mitlieder gleichermaßen mit einem Unterschied.

Zitat

Für Mitglieder => Wer ist hier? 2 Gäste Rolly8-HL, Rosetta, Vidia
Für Gäste => Wer ist hier? 2 Gäste 3 Mitglieder


http://www.phpfusion-deutschland.de/f...#post_6313

Das mit dem Forum war nur ein Beispiel wo ich es teste, es soll aber auch in Artikel, News & co. gleichermaßen zur Anwendung kommen.
Genauso wie in meinem neuem Moderatoren System (nicht Web Radio)
Bearbeitet von Rolly8-HL am 25. September 2016 11:51:34
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Und wenn du das überflüssige mit Preg_Replace entfernst?
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Das habe ich jetzt nicht richtig verstanden was genau muss ich machen wenn dieses

Zitat

/forum/viewthread.php?thread_id=2&pid=25
/forum/viewthread.php?thread_id=2&rowstart=20
/forum/viewthread.php?thread_id=2&highlight=Das+ist+die+zweite+Seite&pid=25

erscheint?
Es sind immer andere Werte die da stehen, wie genau muss ich das schreiben?

Dazu kommen noch das andere Infusions ihre eigenen Get haben, die müsste ich auch alle damit einbinden?

Anders gesehen nicht alle GET kann man weg lassen oder doch?

Hier brauche ich aber die "action=edit&article_id=16" sonst kann ich nicht vergleichen wer da noch ist und diesen Beitrag gerade bearbeiten will.

Zitat

/infusions/articles/admin/admin_articles.php?action=edit&article_id=16
infusions/articles/admin/admin_articles.php?aid=2555e511828b51b4&action=edit&article_id=16

Dieser Link wird gleichermaßen genutzt vom Mod und Admin.
Der $aidlink vom Admin wird ja schon entfernt und ohne in die DB übernommen.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Du könntest in einem Forenthread den Eintrag theorätisch bis auf die Thread-ID kürzen.

Ich würde mit preg_replace() an deiner Stelle mal rumspielen ..

$newOutput = preg_replace("#\&amp;pid=[0-9]#", "", FUSION_REQUEST);

In $newOutput wäre nun der GET-Parameter pid nicht mehr vorhanden sein.
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Jeep, war mir jetzt eine echte Hilfe.

Wobei die Sache Forum und pid= , ich mir wohl noch was einfallen lassen muss dieses nur für Forum zu nutzen, da ich jetzt ja die "function user_page_check_all()" Global in der theme_functions_include.php integriert habe.

Konnte aber mit dem Tipp das rowstart= Problem Global lösen.

$user_page_check = preg_replace("#(&amp;|\?)(rowstart=)([0-9]+)#s", "", $user_page_check);


Jetzt steht nur noch die Frage zum preg_replace für den rowstart=

Zitat

PHPv.7.0.0 Die Unterstützung für den /e Modifikator wurde entfernt. Verwenden Sie statt dessen preg_replace_callback().


Wie muss das mit "preg_replace_callback" aussehen?

Das mit dem Forum teste ich mal die Tage genauer.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Naja du verwendest ja den /e Modifikator nicht, also ist dass hinfällig.

Betreffend Forum und Co kannst du das ja ebenfalls dort einfügen, weil wenn es nicht gefunden wird, wird auch nichts ersetzt.
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL

Zitat

Naja du verwendest ja den /e Modifikator nicht, also ist dass hinfällig.

Was meinst Du damit? mache ich da was Falsch?

Möchte es schon mal auf preg_replace_callback umschreiben.
So wie es jetzt da steht geht es ja schon.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Nein du machst alles richtig.

Aber es geht um den /e Modifikator wie bspw hier:

$text = preg_replace('#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'\\2\\3\' target=\'_blank\' title=\'\\2\\3\'>'.trimlink('\\2\\3', 20).(strlen('\\2\\3')>30?substr('\\2\\3', strlen('\\2\\3')-10, strlen('\\2\\3')):'').'</a>'", $text);


Den verwendest du nicht, also musst du auch kein preg_replace_callback() verwenden.
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Jeep, danke man lernt nie aus, werde es mir später ansehen wenn es nötig sein sollte.

Andere Frage zu GET, POST?

Wollte gerne versuchen die "function redirect" mit einer neuen zu erweitern.
Habe mir das ausgedacht


############ maincore.php

function redirect_post() {

echo "<form name='submitForm' method='post' >
<script type='text/javascript'>document.submitForm.submit()</script>
</form>\n";
      exit;
      
}

############ admin_articles.php

redirect_post("
<input type='submit' name='obst1' value='Kirsche' />
");

############ admin_articles.php

echo "<br />POST Obst1 - ".$_POST['obst1']."<br />";




Nur bekomme ich damit aber kein POST gesetzt, was könnte da Falsch sein?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Naja du musst in der Funktion auch die Angabe einfügen und abarbeiten ..

Sprich so:

function redirect_post($fields) {

echo "<form name='submitForm' method='post' >
".$fields."
<script type='text/javascript'>document.submitForm.submit()</script>
</form>\n";
      exit;
     
}

Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Habe es jetzt so gemacht, aber kommt nichts bei raus.
Muss ich da noch etwas beachten?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Eventuell dass script erst nachdem das Form geschlossen wurde?

Und naja eine Weiterleitungsadresse sollte auch dazu?
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: