Hilfe! Bekomme folgende fehler meldung: Fatal error: Using $this...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe! Bekomme folgende fehler meldung: Fatal error: Using $this...

    hi, hab mir gerade ne script besorgt und hab es installiert und nun bekomme ich folgende fehler meldung:

    Fatal error: Using $this when not in object context in /var/www/html/web142/html/index/booking/include/common.php on line 11

    das script in den die fehlermeldung ist:


    <?
    session_start();
    include("config.php");

    $paypal_item = $sitename." Service Monthly Subscription";
    $paypal_item_number = $sitename;
    $mainipn = $siteurl."/ipn.php";
    $paypal_ipn = $siteurl."/site_ipn.php";
    $paypal_cancel_return = $siteurl."/cancel.php";
    $paypal_return = $siteurl."/thanks.php";
    $this->min_pass_length=8;
    $this->max_pass_length=12;
    $this->chars='abcdefghijklmnopqrstuvwxyz0123456789';
    $logfile = "logfile.txt";
    $postmode = 1;
    $invalidcode = "<table cellpadding=4 width=170><tr><td align=center><font size=2><b>Invalid Button Code!</b><p>Run Your Own PayPal Donation Campaigns at <a href=$siteurl/join.php>$sitename</a></font></table>";
    $table1 = "<TABLE class=design cellPadding=3 cellSpacing=0 width=100% border='1' BORDERCOLOR='#ffffff' STYLE='border-collapse: collapse'>";
    $table2 = "<TABLE class=design cellPadding=3 cellSpacing=0 width=100% border='1' BORDERCOLOR='#ffffff' STYLE='border-collapse: collapse'>";
    $table3 = "<TABLE class=design cellPadding=3 cellSpacing=0 width=100% border='1' BORDERCOLOR='#ffffff' STYLE='border-collapse: collapse'>";

    @mysql_connect($dbServer, $dbUser, $dbPass) or die("Couldn't connect to database server: " . mysql_error());
    @mysql_select_db($dbName) or die("Couldn't connect to database: " . mysql_error());

    function errform($msg, $var = ''){
    global $posterr, $_POST;
    $posterr = 1;
    echo "<div style='color: #FF0000;'>$msg</div>";
    if ($var) $_POST[$var] = '';
    }

    function addreport($user,$site,$status){
    mysql_query("INSERT INTO report SET user='$user',site='$site',status='$status',date='".time()."'");
    }

    function quickcheck($host,$port){
    $running = @fsockopen($host, $port, $errno, $errstr, 30);
    if (!$running){
    return 0;
    }else {
    fclose($running);
    return 1;
    }
    }

    function fullstatus($host){
    $services = array(
    "http"=>"80",
    "ssh"=>"22",
    "ftp"=>"21",
    "smtp"=>"25",
    "pop3"=>"110",
    "mysql"=>"3306");

    $date = date("l, M d, Y - h:i:s A");
    ?>
    <p><font face="Arial" size="2"><b>System Status: <?= $host ?></b></font><br>Time: <?= $date ?></p>
    <font face="Arial" size="2">
    <p><table>
    <tr bgcolor="#5590CC"><td>Status</td><td>Service</td><td>Host</td></tr>
    <?
    foreach ($services as $name=>$port){
    $running = @fsockopen($host, $port, $errno, $errstr, 30);
    if (!$running){
    $status_color = "red";
    $status_sign = "X";
    }else {
    fclose($running);
    $status_color = "green";
    $status_sign = "&nbsp;";
    }
    echo "<tr><td align=center><div align=\"center\" style=\"font-size: 20pt; border: 2px solid $status_color; color:$status_color;\" width=\"15\" height=\"15\">$status_sign</div></td><td>$name</td><td>$host</td></tr>";
    }
    ?>
    </table></p>
    <?
    }

    function myround($amt,$dec="3"){
    ob_start();
    if($dec == 2){
    printf("%6.2f",$amt);
    }else{
    printf("%6.3f",$amt);
    }
    $amount = ob_get_contents();
    ob_end_clean();
    $amount = str_replace(" ","",$amount);
    return $amount;
    }

    class fptime{
    function fptime(){
    return 1;
    }

    function mytime($stamp="",$format="m/d/Y"){
    return date( $format,($stamp ? $stamp : time()) );
    }

    function stamp($mm,$dd,$yy,$hh=0,$min=0,$sec=0){
    return mktime($hh,$min,$sec,$mm,$dd,$yy);
    }

    function subhours($interval,$mm,$dd,$yy,$hh,$m,$s){
    return $this->stamp( $mm,$dd,$yy,($hh-$interval),$m,$s );
    }

    function addhours($interval,$mm,$dd,$yy,$hh,$m,$s){
    return $this->stamp( $mm,$dd,$yy,($hh+$interval),$m,$s );
    }

    function subdays($interval,$mm,$dd,$yy){
    return $this->stamp($mm,($dd-$interval),$yy);
    }

    function adddays($interval,$mm,$dd,$yy,$hh=0,$min=0,$sec=0){
    return $this->stamp($mm,($dd+$interval),$yy,$hh,$min,$sec);
    }

    function submonths($interval,$mm,$dd,$yy){
    return $this->stamp( ($mm-$interval),$dd,$yy );
    }

    function addmonths($interval,$mm,$dd,$yy){
    return $this->stamp( ($mm+$interval),$dd,$yy );
    }

    function subyears($interval,$mm,$dd,$yy){
    return $this->stamp( $mm,$dd,($yy-$interval) );
    }

    function addyears($interval,$mm,$dd,$yy){
    return $this->stamp( $mm,$dd,($yy+$interval) );
    }

    function DateDiff ($interval, $date1,$date2) {
    // get the number of seconds between the two dates
    $timedifference = $date2 - $date1;
    switch ($interval) {
    case "w":
    $retval = $timedifference/604800;
    $retval = floor($retval);
    break;
    case "d":
    $retval = $timedifference/86400;
    $retval = floor($retval);
    break;
    case "h":
    $retval = $timedifference/3600;
    $retval = floor($retval);
    break;
    case "n":
    $retval = $timedifference/60;
    $retval = floor($retval);
    break;
    case "s":
    $retval = floor($timedifference);
    break;
    }
    return $retval;
    }

    function dateNow($format="%Y%m%d"){
    return(strftime($format,time()));
    }

    function dateToday(){
    $ndate = time();
    return( $ndate );
    }

    function daysInMonth($month="",$year=""){
    if(empty($year)) {
    $year = $this->dateNow("%Y");
    }
    if(empty($month)) {
    $month = $this->dateNow("%m");
    }
    if($month == 2) {
    if($this->isLeapYear($year)) {
    return 29;
    } else {
    return 28;
    }
    } elseif($month == 4 or $month == 6 or $month == 9 or $month == 11) {
    return 30;
    } else {
    return 31;
    }
    }

    function isLeapYear($year=""){
    if(empty($year)) {
    $year = $this->dateNow("%Y");
    }
    if(strlen($year) != 4) {
    return false;
    }
    if(preg_match("/\D/",$year)) {
    return false;
    }
    return (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0);
    }
    }
    ?>
    kann mir da jemand weiter helfen wie ich den fehler behebe???

    danke schon mal im vorraus...

  • #2
    edit:
    btw. ich verschieb dich mal

    es gibt da was, was den code formatiert...

    zeile 11 -> heißt i.d.r. hätten die zeilen 8-15 gereicht

    PHP-Code:
    <?php
    session_start
    ();
    include(
    "config.php");

    $paypal_return $siteurl."/thanks.php";

    // ab hier ist das problem!!!!!
    $this->min_pass_length=8;
    $this->max_pass_length=12;
    $this->chars='abcdefghijklmnopqrstuvwxyz0123456789';

    ?>
    $this gehört in eine klasse, nicht in den normalen skript code!

    und noch nen kurzer auszug von hier
    http://us3.php.net/manual/de/language.oop.php
    Innerhalb einer Klassendefinition ist nicht bekannt, unter welchem Namen das Objekt in Ihrem Programm erreichbar sein wird: Als die Klasse Cart geschrieben wurde war nicht bekannt, dass das Objekt später $cart oder $another_cart genannt wird. Deshalb können Sie innerhalb der Klasse Cart selbst auch nicht $cart->items schreiben. Um nun die eigenen Funktionen und Variablen innerhalb einer Klasse anzusprechen, können Sie die Pseudo-Variable $this verwenden, welche Sie auch als 'meine eigene' oder 'aktuelles Objekt' verstehen können. Deshalb kann '$this->items[$artnr] += $num' auch als 'addiere $num zu $artnr in meinem eigenen Array items', oder 'addiere $num zu $artnr im Array items innerhalb des aktuellen Objektes' lesen.
    Zuletzt geändert von MoRtAlAn; 27.09.2006, 15:49.

    Kommentar


    • #3
      das heißt im klartext ?
      wie kann man den fehler beheben ?
      also ich hab von php so gut wie keine ahnung......

      Kommentar


      • #4
        $this->min_pass_length=8;
        $this->max_pass_length=12;
        $this->chars='abcdefghijklmnopqrstuvwxyz0123456789';

        gehört zu einem objekt, das in deinem codeschnippsel anscheinend nicht enthalten ist...

        wie kann man das beheben...

        hast du es exakt so bekommen, oder selber was zusammenkopiert ?

        naja, je nachdem, wo du das skript herhast...

        von irgendeiner seite -> schau mal nach, ob du alles bekommen hast, oder ob dein download unvollständig ist ...
        von nem entwickler -> hau es ihm um die ohren

        gruss

        Kommentar


        • #5
          ja hab ich von "irgendeiner seite" ^^ wofür ich noch geld dagelassen hab.....
          und in deren agb's steht
          "1.1
          Die zum Download angebotenen Programme sind getestet.
          Es wird jedoch keine Gewähr für die Funktion übernommen.
          Die Software ist teilweise in englischer Sprache, jedoch leicht verständlich.

          1.2
          Für die angebotenen Produkte kann aus Zeitgründen kein Support gegeben werden."

          also kann ich da wohl keine hilfe erwarten....

          anscheinen ist alles downgeloaded habs eben nochmal gemacht...
          allerdings ist nich tmal ne readme datei dabei wie sonst üblich...

          nun bin ich ja am abkotzen geld bezahlt für quassie nen script was nicht funzt....

          Kommentar


          • #6
            Bestand der download nur aus diesem einen skript ??

            oder waren das mehrere dateien ?

            ähm... btw...
            ich darf dich ja nicht beraten, aber nen vorschlag machen

            auch wenn das in den AGB steht... du hast aber trotzdem nen anrecht auf nen funktionierendes skript und das, was du gepostet hast, funzt SO definitv nicht...

            Kommentar


            • #7
              nee das waren mehrere datein.....
              insgesammt 46

              ich hatte denen schon den fehler geschrieben mal sehen ob und wann was zurück kommt...

              Kommentar


              • #8
                insgesamt 46

                ok, dann wirds über ein forum etwas schwierig

                wünsch dir viel glück.

                Kommentar


                • #9
                  jo danke also mit anderen worte fehlt da ne datei ?
                  würds was bringen den ordner kurzzeitig zu posten damit man sieht welche datein drin sind ?

                  Kommentar


                  • #10
                    also in dem skript fehlt keine datei...

                    der aufruf von $this im normalen skript-kontext ist falsch...

                    wie gesagt, ob die anderen dateien (klassen und funktionen) richtig sind, weiß ich nicht...

                    wo kommt der code her, den du im ersten beitrag hier gepostet hast ?

                    gruss

                    Kommentar


                    • #11
                      also die fehlermeldung kommt wen ich die index.php aufrufe
                      und der code ist halt von der datei die in der fehler meldung steht "common.php"

                      Zuletzt geändert von DNA-Factory; 27.09.2006, 16:56.

                      Kommentar


                      • #12
                        dann ist das einfachste der hersteller!

                        gruss

                        Kommentar


                        • #13
                          also kann mir hier keine rweiter helfen ?
                          also abwarten das sich die jenigen mal antworten von dene ich das script habe ?

                          Kommentar


                          • #14
                            1) ich habe die quellcode eingeschaut und das sieht für mich als eindeutige fehler.
                            2)da war eine schöne Lizensdatei
                            OffTopic:
                            Lizenzbestimmungen:

                            1.
                            Dieses Script bedarf einer Einzellizenz diese nicht installiert werden.
                            Mit dem Erwerb dieses Scriptes sind Sie berechtigt,
                            dieses einmal unter einer Domain zu installieren.

                            Die Lizenz ist nur mit dem entsprechenden Zahlungsnachweis gültig
                            (Kontoauszug mit der Abbuchung des Abrechnungsunternehmens, bei Vorkasse der Überweisungsbeleg).

                            2.
                            Diese Lizenz ist gut zu verwahren und bei Verlangen vorzuweisen.
                            Mit Zusendung der Lizenz dürfen Sie das Script unter einer Domain betreiben.
                            Das Script darf nicht verändert werden und nicht weitergegeben werden.
                            Verstösse gegen unerlaubte Nutzung werden zivil- und strafrechtlich verfolgt.

                            3.
                            Eine fehlerfreie Funktionsfähigkeit kann auf allen Systemen nie gewährleistet werden!

                            4.
                            Der Inhaber der Rechte und der Verkäüfer dieses Programmes/Scriptes haften nicht für eventuelle Schäden,
                            die durch das Script entstehen, d.h. die Benutzung erfolgt auf eigene Gefahr!

                            5.
                            Durch die Installation und/oder Nutzung dieses Scripts erklären sie sich mit den Lizenzbestimmungen einverstanden.


                            Wenn du dafür was bezahlt hast, dann kannst du auch was verlangen.
                            [edit-zusatz]
                            ausserdem darfst du die Fehler, dass du eben gemacht hast (zip-arhive uns zum download bereitstellen) nicht mehr machen
                            Zuletzt geändert von Slava; 27.09.2006, 17:05.
                            Slava
                            bituniverse.com

                            Kommentar


                            • #15
                              Versuch doch einfach mal die this-> wegzulöschen ... vielleicht arbeitet er dann mit den varis die dahinter stehen ...

                              also aus

                              $this->min_pass_length=8;

                              Machst du

                              $min_pass_length=8;

                              Hatte schonmal jemanden der hatte so einen Müll im Script, da hatte es geklappt.

                              PS: Auf php4 läuft sowas glaube ich, hast du php5?

                              Kommentar

                              Lädt...
                              X