Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z pHp
#1
Odpowiedz
#2
Możesz wstawić zamiast die() funkcję echo() jeżeli po dyrektywie die() nie występują dane, które nie powinny być dostępne przy wystąpieniu tego błędu. Spowoduje to wydrukowanie komunikatu bez killowania skryptu, tak więc dalsza część strony powinna być dostępna.
Ewentualnie dodaj tagi zamykające do komunikatu die() np.

die('Bł&#261d: '.$error.'<br><br><input type="button" class="button" onClick="jhistory.back()" value="Wróć"></div></div>');

Drugi sposób wymaga znajomości struktury strony aby wiedzieć jakie znaczniki zamykające wstawić.

Pozdrawiam.
[Obrazek: 2169fj2.png]
Odpowiedz
#3
Użyłem echo, i stronka działała poprawanie, jednak komunikat wygladal tak:

Avatar jets wiekszy niż 90x90 pixeli
Profil został zaktualizowany pomyślnie

Oby dwa komunikaty zaprzeczają sobie Smile
Wiec echo odpada.

div nic nie dało Sad
Odpowiedz
#4
Chuczek napisał(a):div nic nie dało Sad

Pozwól, że spytam - wykorzystałeś div z tego powodu, że podałem go przykładowo w poprzednim poście czy przeanalizowałeś źródła i doszedłeś do wniosku, że to będzie dobre rozwiązanie. Jeżeli to pierwsze to nie dziwi mnie w zupełności fakt, że nie działa, podałem jedynie przykład a nie gotowca.

Przejrzyj kod źródłowy strony w poszukiwaniu otwartych znaczników przed wywołaniem błędu w celu znalezienia tych, które trzeba zamknąć.

Pozdrawiam.
[Obrazek: 2169fj2.png]
Odpowiedz
#5
div, wykorzystałem, ponieważ podałeś taki przykład. Niestety nie znam się dobrze na php i pewnie dla tego. Może to moja nie wiedza, ale nie widze w tym pliku czegoś, co zaczyna się, a mógłbym zakończyć po die.

Oto kawałem pliku myprofile.php, który dotyczy avatara :
Kod PHP:
<?php
/*
 ########################################################################
#                                                                        #
#           Version 4       /                        /   /               #
#          -----------__---/__---__------__----__---/---/-               #
#           | /| /  /___) /   ) (_ `   /   ) /___) /   /                 #
#          _|/_|/__(___ _(___/_(__)___/___/_(___ _/___/___               #
#                       Free Content / Management System                 #
#                                   /                                    #
#                                                                        #
#                                                                        #
#   Copyright 2005-2006 by webspell.org                                  #
#                                                                        #
#   visit webSPELL.org, webspell.info to get webSPELL for free           #
#   - Script runs under the GNU GENERAL PUBLIC LICENSE                   #
#   - It's NOT allowed to remove this copyright-tag                      #
#   -- http://www.fsf.org/licensing/licenses/gpl.html                    #
#                                                                        #
#   Code based on WebSPELL Clanpackage (Michael Gruber - webspell.at),   #
#   Far Development by Development Team - webspell.org                   #
#                                                                        #
#   visit webspell.org                                                   #
#                                                                        #
 ########################################################################
*/

if(!$userID) echo 'Musisz być zalogowany aby przegl&#261dać swój profil!<br><br>

              • <a href="index.php?site=register">Rejestracja</a><br>
              • <a href="index.php?site=login">Logowanie</a>'
;
              
else {              

    eval (
"\$title_myprofile = \"".gettemplate("title_myprofile")."\";");
    echo 
$title_myprofile;
    
    if(
$_POST['submit']) {
    
      
$nickname substr(trim($_POST['nickname']), 030);
      
$mail $_POST['mail'];
      
$usernamenew substr(trim($_POST['usernamenew']), 030);
      
$usertext $_POST['usertext'];
      
$firstname $_POST['firstname'];
      
$lastname $_POST['lastname'];
      
$b_day $_POST['b_day'];
      
$b_month $_POST['b_month'];
      
$b_year $_POST['b_year'];
      
$sex $_POST['sex'];
      
$flag $_POST['flag'];
      
$town $_POST['town'];
      
$icq $_POST['icq'];
      
$about $_POST['messageabout'];
      
$clantag $_POST['clantag'];
      
$clanname $_POST['clanname'];
      
$clanhp $_POST['clanhp'];
      
$clanirc $_POST['clanirc'];
      
$clanhistory $_POST['clanhistory'];
      
$cpu $_POST['cpu'];
      
$mainboard $_POST['mainboard'];
      
$monitor $_POST['monitor'];
      
$ram $_POST['ram'];
      
$graphiccard $_POST['graphiccard'];
      
$soundcard $_POST['soundcard'];
      
$connection $_POST['connection'];
      
$keyboard $_POST['keyboard'];
      
$mouse $_POST['mouse'];
      
$mousepad $_POST['mousepad'];
      
$newsletter $_POST['newsletter'];
      
$homepage $_POST['homepage'];
      
$pm_mail $_POST['pm_mail'];
      
$avatar $_FILES['avatar'];
      
$userpic $_FILES['userpic'];
      
$id $userID;
    
      if(
$_POST['userID'] OR $_GET['userID'] OR $userID=="") die('Nie zalogowany.');
    
        
$editname=false;
        
$ergebnis=safe_query("SELECT * FROM ".PREFIX."user WHERE userID='$id' ");
        
$ds=mysql_fetch_array($ergebnis);
        if(
$usernamenew != $ds[username]) {
            
$ergebnis safe_query("SELECT * FROM ".PREFIX."user WHERE username = '".$usernamenew."' ");
            
$num mysql_num_rows($ergebnis);
            if(
$num) {
                
$error="Wybrana nazwa użytkownika jest w użyciu!";
                die(
'<b>Bł&#261d: '.$error.'</b><br><br><input type="button" class="button" onClick="javascript:history.back()" value="Wróć">');
            }
            
$editname=true;
        }
    
        if(
$_POST['delavatar']) {
            
$filepath "./images/avatars/";
            if(
file_exists($filepath.$id.'.jpg')) @unlink($filepath.$id.'.jpg');
            if(
file_exists($filepath.$id.'.gif')) @unlink($filepath.$id.'.gif');
            
safe_query("UPDATE ".PREFIX."user SET avatar='' WHERE userID='$id' ");
        }
        if(
$_POST['deluserpic']) {
            
$filepath "./images/userpics/";
            if(
file_exists($filepath.$id.'.jpg')) @unlink($filepath.$id.'.jpg');
            if(
file_exists($filepath.$id.'.gif')) @unlink($filepath.$id.'.gif');
            
safe_query("UPDATE ".PREFIX."user SET userpic='' WHERE userID='$id' ");
        }
    
        
//avatar
        
$filepath "./images/avatars/";
        if (
$avatar['name'] != "" OR ($_POST['avatar_url'] != "" AND $_POST['avatar_url'] != "http://")) {
        if(
$avatar['name'] != "") {
         
move_uploaded_file($avatar[tmp_name], $filepath.$avatar[name].".tmp");
        } else {
         
$avatar[name] = strrchr($_POST['avatar_url'],"/");
         if(!
copy($_POST['avatar_url'],$filepath.$avatar[name].".tmp")) {
                
$error "Nie można skopiować pliku z serwera";
            die(
'Bł&#261d: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Wróć">');
         }
        }
        @
chmod($filepath.$avatar[name].".tmp"0755);
        
$info getimagesize($filepath.$avatar[name].".tmp");
            if(
$info[0] < 91 && $info[1] < 91) {
            if(
$info[2] == 2) {
                    
$pic=$id.'.jpg';
                   if(
file_exists($filepath.$pic)) @unlink($filepath.$pic);
                   if(
file_exists($filepath.$id.'.gif')) @unlink($filepath.$id.'.gif');
              
rename($filepath.$avatar[name].".tmp"$filepath.$pic);
                    
safe_query("UPDATE ".PREFIX."user SET avatar='$pic' WHERE userID='$id' ");
                }
                elseif(
$info[2] == 1) {
                    
$pic=$id.'.gif';
                   if(
file_exists($filepath.$pic)) @unlink($filepath.$pic);
                   if(
file_exists($filepath.$id.'.jpg')) @unlink($filepath.$id.'.jpg');
                    
rename($filepath.$avatar[name].".tmp"$filepath.$pic);
                    
safe_query("UPDATE ".PREFIX."user SET avatar='$pic' WHERE userID='$id' ");
                }
                else {
                    if(
unlink($filepath.$avatar[name].".tmp")) {
                            
$error "Niedozwolony format grafiki (dozwolone: gif lub jpg)";
                        die(
'Bł&#261d: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Wróć">');
                    } else {
                            
$error "Wgrywanie zakończone niepowodzeniem";
                        die(
'Bł&#261d: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Wróć">');
                    }
    
                }
            }
            else {
                @
unlink($filepath.$avatar[name].".tmp");
                
$error "Obrazek jest większy niż dozwolone 90/90px";
                die(
'Bł&#261d: '.$error.'<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Wróć">');
            }
        } 
Odpowiedz
#6
Chciałbym zobaczyć wygenerowany kod źródłowy strony, nie źródła php. Wklej kod na http://rafb.net/paste/ i podaj linka.

Pozdrawiam.
[Obrazek: 2169fj2.png]
Odpowiedz
#7
A może przerób odrobinę kod i zapisz wszystko przy użyciu else?

If obrazek dobry, to zaakceptuj
else
echo obrazek zły

To tak w skrócie oczywiście Smile
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl