MyBB.de Forum
Näheres zur redirect()-Funktion - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-36.html)
+---- Thema: Näheres zur redirect()-Funktion (/thread-6196.html)

Seiten: Seiten: 1 2


Näheres zur redirect()-Funktion - Bimon - 18.06.2007

Hallo,
mich würde mal interessieren, welche Rolle die ? und : in der redirect()-Funktion spielen, d.h. wozu sind die da, was bringen sie genau??

Bitte um schnelle Antwort Smile
Danke schonmal im Vorraus!!!!


RE: Näheres zur redirect()-Funktion - Garlant - 18.06.2007

Hallo Bimon.

Die Funktion redirect() ist eine Weiterleitungsfunktion.
Mit den üblichen Weiterleitungsfunktion würde ein "Headerfehler" entstehen. (Die Fehlermeldung wäre in etwa: header already sendet global.php on line xxx)

Mfg Garlant


RE: Näheres zur redirect()-Funktion - Bimon - 18.06.2007

Ich würde gerne eine Funktion ändern, weiß aber nicht wie, wenn ich nicht weiß, was vor dem ? steht und danach und hinter dem : steht, also was das entsprechend bedeutet...

Traumhaft wäre so eine php.net Version Wink
redirect([...] ? [...] : [...]) --> das wäre perfekt Big Grin


RE: Näheres zur redirect()-Funktion - Garlant - 18.06.2007

Die Funktionsweise der MyBBeignen Weiterleitungsfunktion ist folgende:
PHP-Code:
redirect($url"Text"); 
(für nähere Informationen siehe functions.php)

Die von dir gezeigte Verwendung wirft mir Rätsel auf, ist für mich unverständlich.

Mfg Garlant


RE: Näheres zur redirect()-Funktion - Bimon - 19.06.2007

Ich habe das in dem Plugin quicklanguage (das neue) entdeckt:
PHP-Code:
function quicklanguage_run_edit() {
    global 
$mybb$lang$db;
    if(
$mybb->user['uid'] == 0)
    {
    if(isset(
$mybb->input['language']) && $mybb->request_method == "post") {
        
$lang->load('usercp');
        if(
$mybb->user['uid'] != 0) {
            
$db->update_query(TABLE_PREFIX."users", array('language' => $db->escape_string($mybb->input['language'])), "uid=".$mybb->user['uid']);
        } else {
            
my_setcookie('mybb[language]'htmlspecialchars_uni($mybb->input['language']));
        }
        
redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : INDEX_URL$lang->redirect_optionsupdated); //Hier rum gehts...
    
}
    }


Ich möchte "versichern", dass man auf die vorherige Seite gelangt, und zwar per input "hidden" (<input type="hidden" ...). Abgesehen davon iteresiert es mich auch, warum sowas dadrinn steht. In der functions.php habe ich schon nachgeschaut, konnte aber auf anhieb nicht erkennen, wo ? und : verarbeitet werden....


RE: Näheres zur redirect()-Funktion - Michael - 19.06.2007

Das ist eine verkürzte if-Abfrage. Ausgeschrieben sähe der Code so aus:
PHP-Code:
if(isset($_SERVER['HTTP_REFERER'])) {
    
$url $_SERVER['HTTP_REFERER'];
} else {
    
$url INDEX_URL;
}
redirect($url $lang->redirect_optionsupdated); 
Beides läuft auf das gleiche hinaus. Siehe dazu auf dieser Seite ganz unten: http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Kontrollstrukturen


RE: Näheres zur redirect()-Funktion - Bimon - 19.06.2007

Das ist ja genial *freu*
Auf der Seite unten steht aber, dass $url ? $url : $xxx
gleichbedeutend mit
if(!$url) {..............
ist. Ist das richtig so?
Wenn ja, nochmal bitte zu den if-Abfragen:
was bedeutet:
a) if($xxx) ...
b) if(!$xxx) ...

Ich dachte, dass das auch eine Abkürzung ist für:
a) if($xxx == true) ...
b) if($xxx != true) ...

Also bitte deckt meinen Denkfehler auf Big Grin

Mein Problem ist damit aber schon gelöst, das Andere jetzt ist nur für meinen Kopf Big GrinBig GrinBig Grin

Danke euch!!!


RE: Näheres zur redirect()-Funktion - Michael - 19.06.2007

Wie du es geschrieben hast stimmt es.


RE: Näheres zur redirect()-Funktion - Bimon - 19.06.2007

Aha, bin ich ja schonmal beruhigt Wink

Aber auf der Seite stand $url ? $url : $xxx
Das kann doch dann nicht heißen: if(!$url ......
oder?

Also so wie ich das sehe müsste, damit es if(!$url ...... in langer Form ist auch !$url ? $url : $xxx sein oder nicht????????


RE: Näheres zur redirect()-Funktion - Michael - 19.06.2007

Ja, hab ich übersehen. Du hast recht.