Heim >Backend-Entwicklung >PHP-Tutorial >DedeCMS-Hintergrund, die Seite wird nicht angezeigt, die Hintergrundseite ist leer

DedeCMS-Hintergrund, die Seite wird nicht angezeigt, die Hintergrundseite ist leer

WBOY
WBOYOriginal
2016-07-30 13:30:171307Durchsuche
Ich möchte die Produkte von DreamWeaver ausprobieren, daher habe ich die Version DedeCMS V5.7 heruntergeladen. Nach der lokalen Bereitstellung erfolgt keine Ausgabe oder Anzeige auf der Seite, wenn ich mich korrekt im Hintergrund anmelde (sie wird nur angezeigt, wenn ich mich anmelde). falsch eingegeben oder das Passwort ist falsch) und es erfolgt kein Fehler melden. Als ich das Skript-Debugging startete, stellte ich fest, dass das Problem in den folgenden Teilen der Anmeldeseite login.php liegt. login.php

[php] Klartext anzeigen

  1. ...
  2. $cuserLogin = neuuserLogin($admindir); (!
  3. leer($userid) && !leer($pwd)) $res =
  4. $cuserLogin
  5. ->checkUser(
  6. $ userID
  7. , $ pwd ); 🎜> if(!empty($gotopage ))
  8.                                                   🎜>,$gotopage
  9. );
  10.  sonst
  11.   {                         ShowMsg('Erfolgreich angemeldet, wird jetzt zur Management-Homepage weitergeleitet! '
  12. ,"index.php");                          🎜>"ok"                               Die verwendete keepUser()-Methode lautet wie folgt: userlogin class.php
  13. [php] Klartext anzeigen
    1. ...  
    2. Funktion keepUser()  
    3. {  
    4.     if($this->userID != '' && $this->userType != '')  
    5.     {  
    6.         global $admincachefile,$adminstyle;  
    7.         if(empty($adminstyle)) $adminstyle = 'dedecms';  
    8.   
    9.         @session_register($this->keepUserIDTag);  
    10.         $_SESSION[$this->keepUserIDTag] =  $this->userID;  
    11.   
    12.         @session_register($this->keepUserTypeTag);  
    13.         $_SESSION[$this->keepUserTypeTag] =  $this->userType;  
    14.   
    15.         @session_register($this->keepUserChannelTag);  
    16.         $_SESSION[$this->keepUserChannelTag] =  $this->userChannel;  
    17.   
    18.         @session_register($this->keepUserNameTag);  
    19.         $_SESSION[$this->keepUserNameTag] =  $this->userName;  
    20.   
    21.         @session_register($this->keepUserPurviewTag);  
    22.         $_SESSION[$this->keepUserPurviewTag] =  $this->userPurview;  
    23.   
    24.         @session_register($this->keepAdminStyleTag);  
    25.         $_SESSION[$this->keepAdminStyleTag] =  $adminstyle;  
    26.   
    27.         PutCookie('DedeUserID'$this ->userID, 3600 * 24, '/');  
    28.         PutCookie('DedeLoginTime', time(), 3600 * 24, '/' );  
    29.   
    30.         $this->ReWriteAdminChannel();  
    31.   
    32.         Rückgabe 1;  
    33.     }  
    34.     else  
    35.     {  
    36.         return -1;  
    37.     }  
    38. }  

    Entferne @, session_register() meldet einen Fehler:
    Aufruf der undefinierten Funktion session_register()
    Bestätigt, dass das Problem hierher kommt. Die Beschreibung im Handbuch lautet wie folgt:
    "Version: (PHP 4, PHP 5 < 5.4.0)"
    "Diese Funktion ist seit PHP 5.3.0 veraltet und wird aus PHP 5.4 entfernt. 0. „

    Handbuch anzeigen

    session_register() ist in späteren Versionen von PHP5.4 überflüssig und kann weggelassen und direkt verwendet werden $_SESSION['abc'] ="" ;


    Sehen Sie sich die Stack Overflow-Fragen zu dieser Methode an.


    Lösung: Entfernen oder kommentieren Sie alle session_register() aus und verwenden Sie stattdessen die direkte Speicherung des Arrays $_SESSION.

    keepUser() Abschnitt

    [php] Klartext anzeigen

    1. ...
    2. //session_register($this-> keepUserIDTag);
    3. $_SESSION[$this ->keepUserIDTag] = $this->userID;
    4. //session_register($this->keepUserTypeTag);
    5. $_SESSION[ $this->keepUserTypeTag] = $this->userType;
    6. //session_register($this->keepUserChannelTag);
    7. $_SESSION[$this->keepUserChannelTag] = $this-> ; userChannel;
    8. //session_register($this->keepUserNameTag);
    9. $_SESSION[$this->keepUserNameTag] = $this->userName;
    10. ($this->keepUserPurviewTag);
    11. $_SESSION
    12. [
    13. $this ->keepUserPurviewTag] = $ this->userPurview; 🎜>//session_register($this->keepAdminStyleTag);
    14. $_SESSION
    15. [$this->keepAdminStyleTag] = $adminstyle
    16. ; ... Nach der Änderung wird es normal angezeigt. Ich habe die „neueste“ Version von der Dreamweaver-Homepage heruntergeladen. Es ist seltsam, dass niemand auf das gleiche Problem gestoßen ist. Da solche Probleme hier auftreten können, gibt es keine Garantie dafür, dass es in anderen Teilen nicht noch mehr solcher versteckten Gefahren gibt.
    17. Das Obige stellt das DedeCMS-Backend vor. Die Seite wird nicht angezeigt, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Variablenprobleme in PHPNächster Artikel:Variablenprobleme in PHP