tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
605
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Hallo Leute,

    ich hoffe wirklich, dass mir jemand helfen kann. Bin echt mit den nerven durch. Ich habe mir ein LogIn Script gebastelt und das läuft auf mein lokalen Testumgebung auch fein. Dann habe ich es bei Strato hochgeladen und festgestellt, dass er die Variablen auf den Folgeseiten nicht auslesen kann. Dann habe ich mal eine reines Session Script (Siehe unten) hochgeladen und das läuft auch nicht. Auf einem anderen Kundenserver unter FreeBSD/Apache2.0 läuft es wiederrum einwandfrei:

    1.php

    <?PHP
    session_start();
    $test=4;
    session_register(test);
    header ("location: 2.php");
    ?>


    2.php

    <?PHP
    session_start();
    echo "$test";
    ?>

    Habe lange nicht mehr programmiert, aber was kann man denn da falsch machen?

    In meinen beiden Büchern PHP4+ Mysql (DataBecker) sowie PHP4 von Thomas Theis steht es genau so drinnen,...

    Wer kann mir helfen?
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Ich schätze mal, dass register_globals ausgeschaltet sind, teste doch mal:
    PHP-Code:
    $_SESSION['varname'
     

  3. #3
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Das ging aber schnell mit einer Antwort. Vielen Dank

    globals off ? *grübel* Das kenne ich jetzt gar nicht was Du da vorschlägst. Da ich nicht wußte, ob mit $_SESSION['test'] eine Variable befüllt oder ausgelesen wird, habe ich beides ausprobiert. Leider ohne Erfolg. Oder habe ich da was missverstanden?:

    1.php

    <?PHP
    session_start();
    $test=4;
    session_register(test);
    header ("location: 2.php");
    ?>

    2.php

    <?PHP
    session_start();
    echo "$_SESSION['test']";
    ?>

    Und dann noch:

    1.php

    <?PHP
    session_start();
    $_SESSION['test'] = 4;
    session_register(test);
    header ("location: 2.php");
    ?>

    2.php

    <?PHP
    session_start();
    echo "$test";
    ?>
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Tiefste Provinz
    Beiträge
    304
    Für den Fall, dass [Flex] schon schlafen gegangen ist:
    1.php:
    PHP-Code:
    session_start(); 
    $_SESSION['test'] = 4;
    header ("location: 2.php"); 
    2.php:
    PHP-Code:
    session_start();
    echo 
    $_SESSION['test']; 
    Ich geh' jetzt auch schlafen.
    Gute Nacht,
    Martin
     

  5. #5
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Ja, verdammt. Hier gefällt es mir. Junge seid ihr schnell hier.

    Habs probiert und es tut. Jetzt muß ich mich mal ein bisl in die Globals-Geschichte einlesen.

    Super! Vielen Dank und gute Nacht...
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Guten Morgn...

    register_globals ist eine Einstellung in der php.ini die vor einiger Zeit bei manchen Providern ausgestellt worden ist, wegen möglichen Sicherheitslücken dabei...
    Seitdem müssen halt diese Prefixes benutzt werden wie $_SESSION, $_POST, $_GET, etc. etc....

    So, und jetzt geh ich erstmal wirklich schlafen...

    Gute Nacht
     

  7. #7
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Mit folgendem Code kannst Du testen ob die Option register_globals on oder off ist.

    registerglobalscheck.php
    PHP-Code:
    <?
    if (!$_GET["test"])
        {
            
    header("Location:registerglobalscheck.php?test=1");
        }
    ?>
    <html>
    <body>
    <?
    if ($_GET["test"])
        {
            if (
    $test)
                {
                    
    printf("register_globals=on<br>");
                }
            else
                {
                    
    printf("register_globals=off<br>");
                }
        }
    ?>
    </body>
    </html>
    Zum Thema session_register(test);
    Laut der Doku zu session_register() soll besser direkt in das $_SESSION[] Array geschrieben werden, da session_register() bei register_globals=off nicht funktioniert.

    Zitat Zitat von php.net
    If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  8. #8
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Bin echt beeindruck. Vielen Dank. Ihr habt heute Nacht in 5 Minuten mein Problem gelöst. Mein LogIn tut inzwischen. Klasse.

    Jetzt habe ich aber noch ein Problem, was wohl auch mit den globals = off zusammen hängt:

    Mein Menu steurte die Seiten via includes an. D.H. ich haben einen Link und gebe dort dann den Parameter mit wie z.B. ?page=news oder ?page=kontakt. Nun, da kommt jetzt natürlich nichts mehr auf der anderen Seite an.

    Dachte eigentlich, dass ist nun genauso wie bei den Sessions zu lösen:

    $page = $_get['page'];

    Funktioniert so aber leider nicht. Was übersehe ich da oder gibt es da auch was ganz Neues?

    Lieben Gruß aus Stuttgart,...

    Fabs
     

  9. #9
    German German ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Ort
    (Bayern)
    Beiträge
    464
    Zitat Zitat von FabsNo1
    $page = $_get['page'];
    PHP-Code:
    $page $_GET['page']; 
    GET schreibt man gross.
     
    Gruß German

  10. #10
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Ah, klar. Vielen Dank. Jetzt läufts.
     

  11. #11
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Jetzt hätte ich noch eine Frage zu den globalen Sessionvariablen und MySQL Abfrage:


    Wie kann ich denn die $_SESSION['varid'] direkt in meine MySQL Abfrage intergrieren? Den Umweg über $varid = $_SESSION['varid']; kann ich mir doch bestimmt sparen, oder?

    mysql_db_query("$datenbank", "update member set llogin = '$loginzeitzeit' where id = '$varid' ");


    Vielen Dank und Gruß aus Stuttgart,... Fabs
     

  12. #12
    FabsNo1 FabsNo1 ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    11
    Nun, ich dachte das mit den Globals ist mir nun klar. Ich habe mir ein kleines Upload Script gebastelt. Leider kommt die ausgewählte Datei in diesem Script nicht an. Was ist an diesen Script falsch?

    index.htm


    <FORM enctype="multipart/form-data" method="POST" action="upload.php">
    Datei auswählen <BR>
    <INPUT type="file" name="image" size="30">
    <INPUT type="submit" name="Button" value="Upload File">
    </FORM>

    upload.php

    <?PHP
    $image = $POST['image'];
    if ($image_name != "")
    {
    copy("$image", "images/$image_name") or die("Couldn't copy the file!");
    }
    else
    {
    die ("Bild ausw&auml;hlen");
    }
    ?>

    Kann mir da jemand noch helfen? Vielen Dank. Und vielleicht hat mir noch jemand eine Antwort auf meine Frage über diesem Posting. Habe da leider noch keine Lösung gefunden.

    Lieben Gruß aus Stuttgart, Fabs
     

  13. #13
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Dateien findest Du im Array $_FILES

    Mal ein Beispiel:
    PHP-Code:
    if ($insert)
     {
      
    $tmpname=$_FILES["uploadfile"]["tmp_name"];
      
    $filename=$_FILES["uploadfile"]["name"];
      
    $filesize=$_FILES["uploadfile"]["size"];
      
    $mimetype=$_FILES["uploadfile"]["type"];
      if ((
    $filesize>0) && ($mimetype=="image/jpeg") && (!file_exists("images/".$gallery[1]."/".$filename)))
       {
        
    move_uploaded_file($tmpname,"images/".$gallery[1]."/".$filename);
        list(
    $width,$height)=getimagesize("images/".$gallery[1]."/".$filename);
        
    $sourceimage=imagecreatefromjpeg("images/".$gallery[1]."/".$filename);
        
    $thumbwidth=90;
        
    $thumbheight=round($thumbwidth*($height/$width));
        
    $thumbimage=imagecreatetruecolor($thumbwidth,$thumbheight);
        
    imagecopyresampled($thumbimage,$sourceimage,0,0,0,0,$thumbwidth,$thumbheight,$width,$height);
        
    imagejpeg($thumbimage,"thumbs/".$gallery[1]."/".$filename);
        
    mysql_query("insert into images (filename,gallery) values ('$filename','$galleryid')",$db);
        
    printf("Image <b>%s</b> has been uploaded<br>",$filename);
       }
     } 
    Bei mir heisst das Feld fuer die Datei uploadfile. Also kommst Du an Deine Datei ueber $_FILES["image"]
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

Ähnliche Themen

  1. Session-Problem bei Strato seit 4 Tagen
    Von Hattrix im Forum PHP
    Antworten: 30
    Letzter Beitrag: 28.02.08, 21:41
  2. gd installieren bei strato
    Von Philipp_Frank im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 30.03.07, 00:58
  3. Sessions bei Strato
    Von trademark2012 im Forum PHP
    Antworten: 9
    Letzter Beitrag: 28.02.07, 09:17
  4. CGI Problem bei Strato
    Von technikfrager im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 27.02.07, 09:36
  5. PHPMyAdmin bei Strato
    Von emigrant21 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 16.07.05, 23:50