Desaster: Nochmalige Hilfe anfrage

Hy @ll,

bevor mich jetzt jemand anpostet das, dass doppelt ist, das weis ich.
Hätte es ja in den alten Threat gepostet wenn ich ihn gefunden hätte ;-).

Habe euch vor ca. 1 Woche um hilfe gebeten nach dem ich mein EasyPHP 1.6 auf 1.8 umgestellt habe funktionieren meine Php Scripte/Seiten nicht mehr .
Ich nutze Variablen in der Adresszeile zum Navigieren auf der Seite.

Nach der Umstellung meldet er mir immer:
Quelltext:
47: if($a==".") $ac=".";

Notice: Undefined variable: a in c:\programme\server\easyphp1.6\www\hsh\index.php on line 47

nach Tip einem von den Usern hier habe ich jetzt die Varieable $a in $_POST["a"] bzw. $_GET["a"] umgestellt wo sich bei mir das nexte Problem auf tut.
Quelltext:
47: if($_GET["a"]==".") $ac=".";

Notice: Undefined index: a in c:\programme\server\easyphp1.6\www\hsh\index.php on line 47

Auf dem angegebenen Link fand ich nicht wirklich weitere Hilfe und hoffe das ihr mir vieleicht nochmal helfen könnte.

thx im Vorraus (per E-Mail ist auch möglich)

Desaster

  1. Hallo Desaster,

    bevor mich jetzt jemand anpostet das, dass doppelt ist, das weis ich.
    Hätte es ja in den alten Threat gepostet wenn ich ihn gefunden hätte ;-).

    Der Thread ist bereits im Archiv - da ist es schon in Ordnung wenn du nochmal postest.

    47: if($_GET["a"]==".") $ac=".";

    Rufst du die Seite auch mit ?a=. am Ende der URL auf? Versuch mal erst auf Existenz von $_GET['a'] zu testen:

    if(isset($_GET['a']) and $_GET['a']=='.'){  
        $a = '.';  
    }
    

    Wenn das nicht hilft, poste mal etwas mehr Code und eine URL unter der man sich das anschauen kann.

    Grüße aus Nürnberg
    Tobias

    1. Thx Tobias für denn Tip jetzt sind zwar die Kilo von Fehlermeldungen weg *lol* aber das steuern der Seite funzt noch nicht wirklich.

      soll ich dir mal meinen Quelltext per E-Mail durch schicken oder was für auszüge brauchst du. Habe auch keinen Stress damit das hier rein zuposten währe für Hilfe sehr dankbar.

      thx Desaster

      Grüße aus Fürth ;-)

      1. Hallo Desaster,

        Thx Tobias für denn Tip jetzt sind zwar die Kilo von Fehlermeldungen weg *lol* aber das steuern der Seite funzt noch nicht wirklich.

        definiere "funzt nicht".

        soll ich dir mal meinen Quelltext per E-Mail durch schicken oder was für auszüge brauchst du.

        den relevanten Teil. Ich kenne dein Script nicht, und weiß auch nicht, was es machen soll. Interessant wäre vermutlich wie du es aufrufst und der Code um die Zeile 47 herum bzw. um die Stelle herum, die nicht das macht was sie soll.

        Grüße aus Fürth ;-)

        iiihhhh ein Fürther :-)

        Grüße aus Nürnberg
        Tobias

        1. Das mit dem iiihhhhh über höre ich jetzt mal *lööööööööööl*

          Ich weis etz nicht wirklich was dich Interressierst, in der Index.php sind mehrerer Seiten zusammen gefasst die durch If und Variablen ändern.

          Schicke dir einfach mal die ersten 3 "Seiten":

          <script language="JavaScript">
          <!--
          function neuesfenster() { top.name = "main_window"; var popupURL = "fenster.html"; var popup = window.open(popupURL,"neuesfenster",'toolbar=1,location=0,directories=1,status=1,menubar=1,scrollbars=1,resizable=1');
          if(navigator.appName.substring(0,8) == "Netscape" ) { popup.location = popupURL; popup.opener = blank; } } // -->
          </script></head>
          <?php
          $RELEASE ="Release 0.1";
          $hp_path ="http://localhost/hsh/index.php";
          //---------------- HP Personaliesierung ----------------------------------------
          $clan="Home Sweet Home";
          global $SID, $Anick, $nd, $logak, $D, $user, $pw;
          //---------------- Designe -----------------------------------------------------
          $tgr ="150"; // Spalten auflistungs grösse
          //------------------------------------------------------------------------------
          $REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
          //-----------------MYSQL DATEN--------------------------------------------------
          $mysql_path="localhost";
          $mysql_user="root";
          $mysql_pass="";
          $mysql_db="hsh";
          $mysql_tab ="basic";
          $mysql_pro ="protokoll";
          //------------------------------------------------------------------------------
          $basic_head="UID,nick,pass,hsh-pw,status,email,RLVna,SID";
          $basic_in="INSERT INTO $mysql_tab($basic_head)VALUES";
          $basic_create="UID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,nick TEXT,pass TEXT,hsh-pw TEXT,status TEXT,email TEXT,RLVna TEXT, SID CHAR(16)";
          $basic_select_SID="SELECT * FROM $mysql_tab WHERE SID='$SID';";
          //------------------------------------------------------------------------------
          $date=date("Y.m.d H:i:s");
          $pro_head ="time,IP,Bemerkung,taetigkeit,nick";
          $pro_create="time DATETIME NOT NULL,IP TEXT NOT NULL,Bemerkung TEXT NOT NULL,taetigkeit TEXT NOT NULL,nick TEXT NOT NULL";
          $pro_in="INSERT INTO $mysql_pro ($pro_head)VALUES";
          $pro_in_UDEL="$pro_in('$date','$REMOTE_ADDR','User entfernt','$nd aus der DB Gelöscht von','$Anick');";
          $pro_in_UINS="$pro_in('$date','$REMOTE_ADDR','User Angelegt','$logak - $D','$Anick');";
          $pro_in_HAHA="$pro_in('$date','$REMOTE_ADDR','<big><b>EINBRUCH</b></big>','User: $user - PW: $pw','');";
          $pro_in_login="$pro_in('$date','$REMOTE_ADDR','<i>LOGIN</i>','hat sich eingelogt','$user');";
          //------------------------------------------------------------------------------
          $user_control="";
          //##############################################################################
          if(isset($_GET["a"]) and $_GET["a"]==".")        $ac=".";
          if(isset($_GET["a"]) and $_GET["a"]=="log")         $ac="log";
          if(isset($_GET["a"]) and $_GET["a"]=="login")       $ac="login";
          if(isset($_GET["a"]) and $_GET["a"]=="exit")    $ac="close";
          //------------------------------------------------------------------------------
          if(isset($_GET["b"]) and $_GET["b"]=="login")         $ac="login"; //ab 96
          if(isset($_GET["b"]) and $_GET["b"]=="HSH")         $ac="hsh";
          if(isset($_GET["b"]) and $_GET["b"]=="sup")         $ac="super"; //ab 187
          if(isset($_GET["b"]) and $_GET["b"]=="IRC")         $ac="IRC";
          if(isset($_GET["b"]) and $_GET["b"]=="search"&&$c!=NULL) $ac="go";
          if(isset($_GET["b"]) and $_GET["b"]=="search"&&$c==NULL) $ac="IRC2";
          if(isset($_GET["b"]) and $_GET["b"]=="go")          $ac="go";
          if(isset($_GET["b"]) and $_GET["b"]=="go"&&$c==NULL)     $ac="IRC2";
          if(isset($_GET["b"]) and $_GET["b"]=="404")         $ac="404";
          if(isset($_GET["b"]) and $_GET["b"]=="userprofil")        $ac="userpro";
          //------------------------------------------------------------------------------
          if(isset($_GET["ca"]) and $_GET["ca"]=="user")       $ac="su";
          if(isset($_GET["ca"]) and $_GET["ca"]=="st")         $ac="ok";
          if(isset($_GET["ca"]) and $_GET["ca"]=="ko")          $ac="sukon";
          if(isset($_GET["ca"]) and $_GET["ca"]=="sa")         $ac="susa";
          if(isset($_GET["ca"]) and $_GET["ca"]=="mysql")      $ac="mysqlsu";
          if(isset($_GET["ca"]) and $_GET["ca"]=="mysqlte")    $ac="mysqltest";
          if(isset($_GET["ca"]) and $_GET["ca"]=="mysqlsa")    $ac="mysqlsave";
          if(isset($_GET["ca"]) and $_GET["ca"]=="setup")      $ac="susetup";
          if(isset($_GET["ca"]) and $_GET["ca"]=="lc")         $ac="levelch";
          if(isset($_GET["ca"]) and $_GET["ca"]=="delus")      $ac="deluser";
          //------------------------------------------------------------------------------
          if(isset($_GET["su"]) and $_GET["su"]=="pr")         $ac="proto";
          if(isset($_GET["su"]) and $_GET["su"]=="su")         $ac="superv";
          //################MAIN PAGE#####################################################
               if(isset($ac) and $ac==NULL){
               //print "<body bgcolor="#000000">"
               print "<img src="./pic/main.jpg" width="640" height="480" alt="Under Constucktion" border=0>
               <br><br><br><br><br><br><br><br>
               <br><br><br><br><br><br><br>
               <div align="right">
               <a href="index.php?a=.">.</a>
               </div></body>\n";};
          //############## LOGIN #########################################################
               if(isset($ac) and $ac=="."){
               echo "<div align="center"><body><br><br><br><br><br><br><table><form action="index.php?a=log" method="post"><br>
               <tr><TD width="70">User: </td><td><input type="text" name="user"></td></tr><br>
               <tr><td width="70">Passwort: </td><td><input type="password" name="pw"></td></tr><br><br><tr><td></td><td width="200"><input type="submit" value="  Login  "></td></tr></table></form><br><br><font color="red">$RELEASE</font></div>"; };
          //<<<<<<<<<<<< Sicherheitsabfrage <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               if($ac=="log"){ $q="select * from $mysql_tab where nick = '$user';"; $link=@mysql_connect("$mysql_path", "$mysql_user", "$mysql_pass");
               if($link){ $sel=@mysql_select_db("$mysql_db", $link);
               if(!$sel){ $write=@mysql_create_db("$mysql_db", $link);};
               if($write){ $se1=@mysql_select_db("$mysql_db");};
               if($sel or $sel1){ $res=@mysql_query($q);
               if (@mysql_num_rows($res) > 0) {
             while ($row=@mysql_fetch_array($res)){ $nick=$row["nick"]; $pass=$row["pass"]; $SID=$row["SID"];}
                  if($nick==$user && $pass==$pw){
               print "<meta http-equiv="refresh" content="0; URL=index.php?a=login&SID=$SID">";
               mysql_query($pro_in_login);mysql_close();}else {mysql_query($pro_in_HAHA); $HAHA1=date("d.m.Y"); $HAHA2=date("H:i:s"); $HAHA3=$REMOTE_ADDR;
               print "<div align="center"><b><big>Das War Wohl nix<br>deine IP wird an den Admini Weitergeleitet<br><table>
               <tr><td>Datum:</td><td>$HAHA1</td></tr><br><tr><td>Time:</td><td>$HAHA2</td></tr><tr><td>IP:</td><td>$HAHA3</td></tr></table></div></big></b>";}
                }} else {
            mysql_query("CREATE TABLE $mysql_tab ($basic_create)");mysql_query("CREATE TABLE $mysql_pro ($pro_create)");
            mysql_query("INSERT INTO $mysql_tab ($basic_head)VALUES('','Supervisor','unlock','','4','Bad_Piret@arcor.de','Marcel',PASSWORD('Supervisor'));");mysql_query("INSERT INTO $mysql_pro ($pro_head)VALUES('$date','$REMOTE_ADDR','<b>Start</b>','Datenbanken <b><big>ANGELEGT</big></b>','SUPERVISOR');");
            mysql_close(); print "<meta http-equiv="refresh" content="0; URL=index.php?a=.">";}}else{print "<div align="center"><big><b>Die Homepage ist im Moment Provider Technisch nicht Aufrufbar<b></big></div>";}};

          wenn du mehr brauchst oder willst schicke ich es dir auch gerne per Mail ist nur 36 kb groß. (habe es in dem zustand noch nicht hoch geladen kann es aber gerne machen.

          thx im vorraus Desaster

          1. Hallo Desaster,

            Ich weis etz nicht wirklich was dich Interressierst, in der Index.php sind mehrerer Seiten zusammen gefasst die durch If und Variablen ändern.

            Du hast jetzt aber noch nicht verraten, was eigentlich nicht funktoniert - bevor ich das nicht weiß, kann ich auch nur raten ...

            if(isset($ac) and $ac==NULL){

            wo soll $ac auf NULL gesetzt werden?

            if(isset($ac) and $ac=="."){

            die Bedingung sollte true geben, wenn $_GET['a']=='.' (also die Seite mit index.php?a=. aufgerufen wird)

            Grüße aus Nürnberg
            Tobias

            1. Hallo Tobias,

              habe soweit viel Fehler durch isset() und emty() lösen können

              zu deiner Frage:

              if(isset($ac) and $ac==NULL){
              wo soll $ac auf NULL gesetzt werden?

              damit wollte ich die Startsite Definieren da ich seiten intern nur $ac benutze zum naviegieren.

              habe ich jetzt ich emty($ac) geändert und das funktioniert gut was jetzt probleme macht sind das meine Formular daten übergabe.

              z.B. User => Mysql das geht mir jetzt irgenwie verlohren läst sich nicht mal mit print_r($user) anzeigen. Auch wenn ich versuche es über die Adress leiste weitergebe ist es nicht mal da zusehen. index.php?a=log&user=$user&pw=$pw

              thx Desaster

              1. Hallo Master auf Desaster

                z.B. User => Mysql das geht mir jetzt irgenwie verlohren läst sich nicht mal mit print_r($user) anzeigen. Auch wenn ich versuche es über die Adress leiste weitergebe ist es nicht mal da zusehen. index.php?a=log&user=$user&pw=$pw

                Probiere doch einfach mal $_POST['var']
                Und lesen endlich:
                http://www.php.net/manual/de/reserved.variables.php
                TomIRL

            2. Hallo Tobias,

              viel viel THX für deine Hilfe hast mir Gedanklich sehr weitergeholfen und  viel interessante Lese und Denk ansetze gegeben. Funktioniert jetzt wieder alles auch was vorher schon nicht lief *löööööööl*.

              Großes Lob an dich und die Anderen.

              Schöne Grüße an TomIRL nimm deinen Nase aus den Wolken und komm mal Wieder auf die Erde du Arrogantes ........., wie du siehst geht es auch anders z.B. mit einem kleinen Tipps.

              THX @ all

              Desaster

              1. Moin,

                Großes Lob an dich und die Anderen.

                Welche anderen?

                Schöne Grüße an TomIRL nimm deinen Nase aus den Wolken und komm mal Wieder auf die Erde du Arrogantes ........., wie du siehst geht es auch anders z.B. mit einem kleinen Tipps.

                Auf diverse andere Sicherheitslöcher in Deiner Anwendung möchtest Du nicht hingewiesen werden?
                Und das Notice keine Fehler sind ist Dir bisher auch noch nicht erklärt worden.
                Aber egal..
                Bin ja eh nur ein arrogantes A...
                TomIRL

  2. Hi Desaster,
    Du solltest anfangen zu lernen und zu lesen:
    1. Du verwendest ein Windows System? Lokal?
    2. Hast Du ein Linux Server der von jemanden der sich auskennt aufgesetzt wurde irgendwo laufen? Wenn ja was passiert da mit Deiner Seite?
    3. Easy PHP hat offenbar den PHP upgedatet, Konsequenze, die ganzen Notice steht auf "all" oder aber, er hat dir irgendwo ne htaccess oder ähnliches (includiertes config.file) reingebaut welches die Notice anschaltet., Alternativ ist da irgenwo in den Einstellungen gedreht worden, so das alle notice an sind.
    4. Dein eigentliches Problem liegt ganz offensichtlich darin, dass Du von programmieren so wenig Ahnung hast wie die Kuh vom Schlittschuhlaufen.
    Begründung:
    Wenn man in einem Programm oder Skript eine Variable ins Spiel bringt, dann prüft man erst deren existens wenn diese nicht vorhanden ist initialisierst Du die, und zweitens überprüft man die Gültigkeit der mit der Variable eingeschleppten Werte.
    Letzteres hat den Vorteil, das man schädlichen Code auf diese Art und Weise gleich mit entsorgen kann.

    Hast Du alles verstanden oder soll ich Dir noch einmal ne Brücke bauen?
    Melde Dich einfach noch einmal hier.

    TomIRL

  3. k.T.
    k.T.
    k.T.
    k.T.
    k.T.
    k.T.
    k.T.
    k.T.
    k.T.
    k.T.

    1. Kopf Kratz *hääääää* ;-). what du wollen??

      Desaster