Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja
Forum PHP.pl > Forum > PHP
Zmyslak
Witam!

W tej linijce
Kod
$this->c=@mysql_query("select username from users where username='$susername'");

Jest następujący błąd:
Kod
Fatal error:  Using $this when not in object context in /home/fotozrzut/domains/fotozrzut.pl/public_html/rejestracja.php on line 38



Bardzo proszę o pomoc smile.gif
webdevil
a jest to część jakiejś klasy? bo jeśli nie to po co $this?
Zmyslak
O co chodzi z tą klasą?

Przepraszam ale jestem początkujący nawet bardzo.

Skrypt nie jest mój smile.gif

Chodzi o to że jest to rejestracja.

Od tej linijki której podałem skrypt nie działa.
webdevil
pokaż cały kod to wtedy coś może poradzimy
Zmyslak
Od tego momentu nie działa. Nie cały bo za długi. Jest mniej więcej ten błędny kod.

Kod
    } else if($submit3) {
        if(!ereg("^[A-Za-z0-9_]{1,16}$",$susername)) {
            $serror="Błędna nazwa! Możesz użyć malsymalnie 15 znaków. Możesz używać liter, cyfer i kropek.<br>";
        }
        $this->c=@mysql_query("select username from users where username='$susername'");
        $this->d=mysql_fetch_object($this->c);
        if(is_object($this->d)) { $serror="Podany login jest już zajęty.<br>"; }
        $this->c=@mysql_query("select username from users where username='$susername'");
        $this->d=mysql_fetch_object($this->c);
        if(is_object($this->d)) { $serror="Podany login jest już zajęty.<br>"; }
        if (!$serror) {
            mt_srand((double)microtime()*1000000^getmypid());
            $pass_length = mt_rand($this->min_pass_length,$this->max_pass_length);
            while(strlen($spassword)<$pass_length) {
                $spassword.=substr($this->chars,(mt_rand()%strlen($this->chars)),1);
            }
            include("include/email.php");
            $signupmessage=str_replace("<username>","$susername",$signupmessage);
            $signupmessage=str_replace("<password>","$spass",$signupmessage);
            $signupmessage=str_replace("<bupass>","$bupass",$signupmessage);
            $adminsignupmessage = str_replace("<member_email>","$semail",$adminsignupmessage);
            $subject = "$signupsubject";
            $message = "$signupmessage";
            mail($semail,$subject,$message,"From: $adminemail");
                        $adminsignupsubject=str_replace("<username>","$susername",$adminsignupsubject);
            $adminsignupmessage = str_replace("<username>","$susername",$adminsignupmessage);
            $adminsignupmessage = str_replace("<password>","$spass",$adminsignupmessage);
            $adminsignupmessage = str_replace("<bupass>","$bupass",$adminsignupmessage);
            $adminsignupmessage = str_replace("<member_email>","$semail",$adminsignupmessage);
            $subject = "$adminsignupsubject";
            $message = "$adminsignupmessage";
            mail($adminemail,$subject,$message,"From: $adminemail");
            $nowdate = date("M d, Y");

            mysql_query("insert into users (uid, username, password, email, last_paid, signup_date) values ('','$susername', '$spass', '$semail', 'free', '$nowdate')");
            echo "<h3>Zakładanie nowego konta Krok 3 - Zakończone</h3> $table2
            <tr><td align=center>Dziękujemy za doł±czenie do grona użytkowników $sitename. Na podany przez Ciebie email (<b>$semail</b>) została wysłana wiadomo¶ć z danymi konta. </table>";
}
Nekro
Z komunikatu bledu wynioskowac da sie, że używasz $this pozasa klasa.
Skoro jestes poczatkujacy radze poczytac sobie troche o php a szczegolnie o zmiennych, klasach, obiektach.
Wtedy sie dowiesz kiedy uzywa sie $this->zmienna, a kiedy $zmienna.
Zmyslak
Naprawdę nikt nie wie co jest źle?

Jest mi to bardzo potrzebne smile.gif
jezoo
Cytat(Zmyslak @ 17.02.2009, 09:48:24 ) *
Naprawdę nikt nie wie co jest źle?

Jest mi to bardzo potrzebne smile.gif

wyzej bylo powiedziane, zebys pokazal CALY skrypt a ty pokazales jego czesc, my nie jestesmy jasnowidzamy czy to jest klasa czy funkcja

btw, ten blad powturzy Ci sie jeszcze tu
  1. <?php
  2. $this->d=mysql_fetch_object($this->c);
  3. ?>

i tu
  1. <?php
  2. if(is_object($this->d)) { $serror="Podany login jest już zajęty.<br>"; }
  3.        $this->c=@mysql_query("select username from users where username='$susername'");
  4.        $this->d=mysql_fetch_object($this->c);
  5.        if(is_object($this->d))
  6. ?>


reasumujac
wywal $this i zostaw sama zmienna $c lub $d czy jak tam masz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.