Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Näheres zur redirect()-Funktion
#1
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!!!!
[Bild: Nirgendssicher.jpg]
#2
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 gebe keinen Support per Messenger oder PN!
#3
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
[Bild: Nirgendssicher.jpg]
#4
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 gebe keinen Support per Messenger oder PN!
#5
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....
[Bild: Nirgendssicher.jpg]
#6
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

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
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!!!
[Bild: Nirgendssicher.jpg]
#8
Wie du es geschrieben hast stimmt es.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#9
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????????
[Bild: Nirgendssicher.jpg]
#10
Ja, hab ich übersehen. Du hast recht.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Frage zur "spoiler" - Funktion Don Carlos 8 2.301 05.08.2007, 18:35
Letzter Beitrag: Don Carlos