MyBB.de Forum

Normale Version: Näheres zur redirect()-Funktion
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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!!!!
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
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
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
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....
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/Websiteentw...strukturen
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!!!
Wie du es geschrieben hast stimmt es.
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????????
Ja, hab ich übersehen. Du hast recht.
Seiten: 1 2