2.seite nach loginseite

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

  • 2.seite nach loginseite

    hallo zusammen

    ich habe mir ein loginscript geschrieben (user,pw, usw)
    das klappt ja auch alles soweit.
    wenn der login ok war möchte ich nun eine weitere seite aufrufen in denen usern erlaubt ist ein file

    upzuloaden.
    aber das bekomm ich irgendwie nicht hin.

    die uploadseite funktioniert ohne die logingeschichte einwandfrei.
    ------------------------
    login.php (auszug):

    ... auswertung des formulars und zuweisung der vars.

    session_start();
    session_register("username");
    //darüber bin ich mir noch nicht so ganz im klaren. hab ich aus einem anderen script übernommen.

    if ($loginok==1) {
    include ("../../sps-upload/upload.php");
    }
    ------------------------
    diese seite wird auch einwandfrei aufgerufen.

    ------------------------
    uploadseite (auszug):
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
    method="post"
    enctype="multipart/form-data">
    <td><input type="file" name="dateiname" size="50">
    ...
    </form>
    ...
    move_uploaded_file($_FILES['dateiname']['tmp_name'],$upload);
    ------------------------
    das klappt aber nicht mehr. ich bekommen dann folgende fehlermeldungen:
    Warning: fopen(e:\!userdir\sps-upload\.txt): failed to open stream: No such file or directory in

    F:\inetpub\wwwroot\php1\login10\login.php on line 33

    ----- diese meldungen wiederholen sich weis nicht wie oft -----
    Warning: feof(): supplied argument is not a valid stream resource in

    F:\inetpub\wwwroot\php1\login10\login.php on line 34

    Warning: fread(): supplied argument is not a valid stream resource in

    F:\inetpub\wwwroot\php1\login10\login.php on line 36
    ------------------------
    so sieht zeile 33-36 im login.php aus:
    line 33: $userdatei = fopen ("$user","r");
    line 34: while (!feof($userdatei))
    line 35: {
    line 36: $zeile = fread($userdatei,1000);
    ------------------------

    wie kann ich die sach nun am besten angehen?
    ich könnte die uploadseite ja auch einzeln aufrufen, und nicht über include. aber wie mach ich das dann,

    das diese seite nur für reg user benutzbar ist?

    PS: bitte nicht zu kompliziert erklären, da ich eher noch ein newbie in php bin. ;-)

    mfg volker

  • #2
    Der Fehler liegt wohl nicht am Login.
    Schau dir mal genau die erste Fehlermeldung an:
    Warning: fopen(e:\!userdir\sps-upload\.txt): failed to open stream: No such file or directory in F:\inetpub\wwwroot\php1\login10\login.php on line 33

    Da stimmen ganz einfach deine Pfadangaben nicht.
    if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

    Kommentar


    • #3
      nein, nein.
      die pfade sind schon ok.
      wie geschrieben das uploadscript funktioniert.
      das prob liegt irgendwo beim include im login.php.
      login.php ruft upload.php im eigenen script via include auf. solange nicht der submit vom uplaod betätigt wird ist ja auch alles klar (upload prüft ob $files<>""(wird durch das form im upload.php übergeben). wenn aber versucht wird das file upzuloaden kommt o.g. fehler.

      ---login.php---
      $username = $_POST ["username"];
      $passwort = $_POST ["passwort"];
      $user = "e:\\...das-post-ich-nicht...\\$username.txt";

      d.h.

      mfg

      Kommentar


      • #4
        Crossposten ist eigendlich ungerne gesehen...

        Kommentar


        • #5
          naja,

          Der Fehler liegt wohl nicht am Login.
          Schau dir mal genau die erste Fehlermeldung an:
          Warning: fopen(e:\!userdir\sps-upload\.txt): failed to open stream: No such file or directory in F:\inetpub\wwwroot\php1\login10\login.php on line 33

          Da stimmen ganz einfach deine Pfadangaben nicht.
          vielleicht solltest du dich wirklich erstmal darum kümmern, die fehlermeldung sagt ja, daß kein file da ist. wenn das file dann vorhanden wäre, kämen auch die fehlermeldungen nicht ...

          schau doch mal vor zeile 33, was in $user steht, und ob dieses file existiert. scheint ja nicht so zu sein.

          zb. (e:\!userdir\sps-upload\.txt), willst du da !userdir durch etwas ersetzen? die datei .txt existiert da bestimmt nicht ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            vielleicht hab ich mich hier einbisschen falsch ausgedrückt.

            also das ist so.
            ich starte die seite mit login.htm. dort stehen mehrere formulare. diese übergeben die vars mittels post an z.b. login.php bzw andere phps.
            die vars stehen definitiv zur verfügung.

            in login.php werte ich nun die vars aus. ist $username & $passwort ok wird $loginok ==1. (siehe oben)

            fehler: "fopen(e:\!userdir\sps-upload\.txt)"
            vor .txt steht normalerweise $username(z.b. gast.txt wenn $username=gast). d.h. $username ist nun ""

            beim aufruf des scripts hat $username auch einen "wert" nämlich den namen des users welches von login.htm übergeben wurde, sonst würde die passwortauswertung (userfile öffen und mit vars vergleichen) nicht klappen.

            so. alles wird erst mal korrekt angezeigt. der user wählt das zu uloadende file und wählt submit um den upload zu starten.

            es scheint nu so zu sein, dass das login.php nun wieder neu bearbeitet wird und versucht mit werten zu arbeiten welche aus dem uploadstring stammen. (je länger das uplaodfile desto öfter kommen og fehlermeldungen).

            ich bin noch neu in diesem forum und weiss nicht wieviel code ich hier posten darf.
            wenn sowas ok ist poste ich hier mal eine abgespeckte version der 2 scripte.

            mfg volker

            Kommentar


            • #7
              die entscheidenden stellen wären nicht schlecht.

              Kommentar


              • #8
                ok hier mal ein bisschen code

                PHP-Code:

                <?php
                // anfang login.php
                    
                $username $_POST ["username"];
                    
                $passwort $_POST ["passwort"];
                    
                $user "e:\\!userdir\\sps-upload\\$username.txt";

                    
                $userdatei fopen ("$user","r");
                    while (!
                feof($userdatei))
                        {
                        
                $zeile fread($userdatei,1000);
                        
                $userdata explode(chr(13), $zeile);
                        
                $username1 $userdata[0];
                        
                $passwort1 $userdata[1];
                    
                fclose($userdatei);

                    if (
                strtolower($username1)==strtolower($username) && $passwort1==$passwort) {
                        
                $loginok=1;
                        }

                if (
                $loginok==1) {
                    include (
                "../../sps-upload/index1.php");
                    }
                // ende login.php
                ?>


                -----------------------------------------------------------------------------
                <?php
                // anfang index1.php (diese datei steuert den upload)
                ?>
                <html>
                <body>
                <table border="0">
                    <tr>
                    <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                    method="post"
                    enctype="multipart/form-data">
                    <td valign="bottom"><font color="#FFFF00" size="2" face="Arial">Dateiname</font></td>
                    <td><input type="file" name="dateiname" size="50">
                    <input type="submit" value="Upload"></td>
                    </tr>
                    </form>
                </table>

                <?php
                  
                if (isset($_FILES['dateiname']) and ! $_FILES['dateiname']['error']) {
                    
                // Alternativ:            and   $_FILES['dateiname']['size']
                    
                $uploaddir "\\\\server\\files\\sps\\z_Upload\\";
                    
                $uploadfile $_FILES['dateiname']['name'];
                    
                $uploadfileklein strtolower($uploadfile);
                    
                $upload "$uploaddir$uploadfile";

                    
                move_uploaded_file($_FILES['dateiname']['tmp_name'],$upload);

                // hier stehen diverse auswertungen

                    
                $groesse filesize($upload);
                    if (
                $groesse <= 1048576 and $vorhanden == 0) {
                        
                printf("<font color=\"#FFFF00\">Die Datei <b>%s</b> steht jetzt als " .
                        
                "<b>$upload</b> zur Verfügung.</font><br>",
                          
                $_FILES['dateiname']['name']);
                        
                printf("<font color=\"#FF0000\">Sie ist <b>%u</b> Bytes groß und vom Typ <b>%s</b>.</font><br>\n",
                          
                $_FILES['dateiname']['size'], $_FILES['dateiname']['type']);
                    }
                ?>
                </body>
                </html>
                und wie gesagt, beide scripte funktionieren einwandfrei wenn ich die einzeln aufrufe


                mfg volker

                Kommentar

                Lädt...
                X