Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 31

Thema: [PHP] Kekse

  1. #1

    [PHP] Kekse

    PHP-Code:
    <head>
    <?php // Kekse
    // Code bedeutet laut gfx-world: setcookie(name, wert, haltbarkeit, verzeichnis, domain, sicherheit);
    12setcookie("7159052138"$eintraege_oktime()+60*1"7159052138""http://dennismeckel.de.sr"1);
    13: echo $_COOKIE['159052138'];
    ?>
    <!-- CSS [...]
    Leider klappt das ganze nicht so...

    Code:
    Warning: Cannot modify header information - headers already sent by (output started at bla.php:4) in E:\Eigene Dateien\HomePage\!nternetseiten\d_m\gaestebuch\speichern.php on line 12
    
    Notice: Undefined index: 159052138 in bla.php on line 13
    Dennis

  2. #2
    Du musst in die erste Zeile deiner Datei <?php schreiben. Davor dürfen keine Zeichen stehen. Zuerst werden die Header-Informationen und dann die Html-Seite übertragen. Sobald ein Byte der Html-Seite (und sei es ein Zeilenumbruch oder Leerzeichen) gesendet wird, wird der http-Header (von dem die Cookies ein Bestandteil sind) gesendet, und du kannst keine Cookies mehr setzen. Also kein echo oder direkt Html-Code vor dem setcookie()-Befehl verwenden.

  3. #3
    For setcookie() darf genauso wie vor header() und session_start() nichts gesendet werden. Senden heißt hier: print(), echo und ?> non-php <?php.
    In deinem Fall trifft das letzte zu: Du sendest vor dem setcookie() ein <head>. Lösung: Nichts davor senden oder Output Buffering.

    Übermäßiger [tt]-Gebrauch. <3 <3

  4. #4
    Kann ich überhaupt dann Variablen verwenden in Cookies?
    So 'datum' oder so etwas ähnliches (das im cookie das datum des erstellens steht).

    Geht nicht:
    PHP-Code:
    1: <?php setcookie("7159052138""eintraege_ok"time()+60*1"7159052138""http://dennismeckel.de.sr"1); ?>
    PHP-Code:
    145: <?php echo $_COOKIE['7159052138']; ?>
    Meldung:
    PHP-Code:
    NoticeUndefined index7159052138 in bla.php on line 145 
    Dennis

  5. #5
    Hast du das Ganze in unterschiedlichen Scripten stehen? Du kannst auf ein Cookie erst zugreifen, wenn es gesetzt wurde. Da Php erst ausgeführt wird, und dann das Ergebnis an den Surfer schickt, kannst du auf ein Cookie nicht in dem Script zugreifen, in dem du es gesetzt hast. Ebenso wirst du einen Fehler kriegen, falls der User dein Cookie nicht annimmt. Am besten, du setzt vor alle Codestellen, die Cookies auslesen, folgendes:
    PHP-Code:
    if(isset($_COOKIE['7159052138'])){
    # hier dein Code
    } else{
    echo 
    "Sie m&uuml;ssen Cookies aktivieren!<br />\n";


  6. #6
    Zitat Zitat von masterquest
    Am besten, du setzt vor alle Codestellen
    Also am Besten währe doch der Zweitzugriff oder ein Direktzugriff über Session oder irre ich mich da ? IMO ahbe ich nix dagegen das du Cookies benutz dennis du musst dir nur imklahren sien das es user gibt die sie Aus haben darum bin z.B. ich auf Session umgestiegen wobei es kein Umstieg war ist ja immernoch ein Cookie nur dieser wird auf dem Server gespeichert und kommt somit nie zu dir was IMO auch sicherer ist da man Cookies auch anfangen kann was sehr ungünstig ist wenn das PWD unverschlüsst im Cookie steht ^^

  7. #7
    Zitat Zitat von dadie
    Also am Besten währe doch der Zweitzugriff oder ein Direktzugriff über Session oder irre ich mich da ? IMO ahbe ich nix dagegen das du Cookies benutz dennis du musst dir nur imklahren sien das es user gibt die sie Aus haben darum bin z.B. ich auf Session umgestiegen wobei es kein Umstieg war ist ja immernoch ein Cookie nur dieser wird auf dem Server gespeichert und kommt somit nie zu dir was IMO auch sicherer ist da man Cookies auch anfangen kann was sehr ungünstig ist wenn das PWD unverschlüsst im Cookie steht ^^
    K, dann mach mir mal bitte nen Beispiel einer Seesion Dadie, bin momentan etwas faul wie man merkt.

    Dennis

  8. #8
    K, zumglück habe ich in letzter zeit mit den Sessions gearbeitet ^^

    PHP-Code:
    <?php
    session_start
    (); //Sagt Session beginnen ^^
    session_register ('nickname');  //Legt sozusagen eine Arrary Spalte mit dem namen 'nickname' an
    session_register ('pwd'); // Sihe oben
    session_register ('session'); // Sihe oben

    $_SESSION['session'] = "1" //Zuweissung einer Session bzw. den inhalt einer Arrary Spalte

    $_SESSION['pwd'] = $pwd ;// Sihe oben
    $_SESSION['nickname'] = $nickname // Sihe oben

    echo '<a href="./index.php?sonswas=inhalt&'.session_name().'='.session_id().'" title="#" >User-System</a>' //Beispiel Link
    ?>
    Ej nach Host einstellung muss man die Session ID nicht über die URL weitergeben ist aber IMO besser es immer zu machen also einfach an jeden Link

    Code:
        &'.session_name().'='.session_id().'

    WTF ?? Das leer zeichen ist da nicht gewollte !!!
    bzw.

    Code:
    &".session_name()."=".session_id()."
    Jenachdem wie du das echo einleitest bei "" Variante 2 bei '' Variante 1

    Dann kann noch dieser Link helfen

    http://be2.php.net/manual/de/ref.session.php

    ich hoffe ich konnte helfen ^^

  9. #9
    session_register ('nickname'); << Veraltet. Musste man nur machen, wenn man $nickname benutzen wollte. Bei $_SESSIONS['nickname'] brauch man kein register mehr.

  10. #10
    Zitat Zitat von Dingsi
    session_register ('nickname'); << Veraltet. Musste man nur machen, wenn man $nickname benutzen wollte. Bei $_SESSIONS['nickname'] brauch man kein register mehr.
    Sagte Dingsi und hat es nie Probiert Gott wer inerinern uns an meinem Top PHP5 Neuester Apachie und ? Muss Regen sonst nimmt er sie nett an ! Auserdem muss man damit rechnen das es noch php4 oder gar php3 server gibt darum sollte man sowas zur Sicherheit immer einbauen !

  11. #11
    Und ob ich es probiert bzw. exzessiv benutzt hab. o_O. Sowohl mit PHP4 als auch mit 5. Bei einem Server mit PHP3 gibt es $_SESSION übrigens gar nicht. Da hast du recht, da muss man session_register benutzen.

    Oh. In PHP3 gibt es GAR KEINE Sessions.

    Zitat Zitat von php.net
    Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.
    ...
    Wenn Sie $_SESSION (oder $HTTP_SESSION_VARS) verwenden, sollten Sie nicht session_register(), session_is_registered() und session_unregister() verwenden.

    Geändert von Dingsi (18.03.2005 um 22:19 Uhr)

  12. #12
    Wo find ich die PHP.ini?
    Bzw. kann ich die überhaupt benutzen ohnen nen eigenen Server? (da ich sonst doch die Funpic einstellungen habe, oder nicht?).

    Dennis

  13. #13
    Auf deinem eigenen Server sollte sie unter Windows unter CWindows oder CWindows\System32 sein, bei Linux bin ich mir nicht sicher (ich glaube irgendwo unter /etc/apache oder so...)
    Bei Funpic kannst du die php.ini nicht verändern und musst dich mit den gegebenen Einstellungen zufrieden geben... Auf manchen Servern kannst (besonders, wenn die Einstellung nur für eine Skripte da ist) mit ini_set die Einstellungen temporär zur Laufzeit des Skriptes ändern, das wird allerdings bei Funpic (und vielen anderen auch) aus Sicherheitsgründen unterbunden. Welche Konfiguration bei Funpic eingestellt ist kannst du unter http://phpinfo.de.funpic.de/ nachgucken.

  14. #14
    Unter Linux liegt die Datei in /etc (zumindest bei mir, Suse 9.2).
    Afaik ist das nicht davon abhängig, ob du einen eigenen Server hast, sondern die Datei hast du, wenn du den Php-Interpreter auf dem Rechner hast.

  15. #15
    Ähm ja >__>

    Ich habe jetz hier ne Session, die jetz zB. nen Counter nicht erhöhen soll, nachdem der User auf der Seite war.
    Unter Funpci lebt die Session wie lange?
    Und wenn ne Session wie ein Cookie ist, woher weiß dann der Server welcher User auf der Seite ist? (IP ändert sich ja).

    Dennis

  16. #16
    Wenn ich die phpinfo() von Funpic richtig deute leben Sessions bei Fupic 180 Minuten (kann mich aber irren). Der Unterschied zwischen Sessions und Cookies ist, dass Cookies auf dem Clientrechner, Sessions auf dem Serverrechner gespeichert werden. Der Server erkennt, welcher PC auf die Seite zugreift durch dir Session-ID (SID) welche im Normalfall in einem Cookie gespeichert wird. Sie kann aber auch per Formular oder Adresszeile übergeben werden. Diese SID ist ein MD5-verschlüsselter Code, der einem Menschen nichts sagt. Wenn du mehr über Sessions wissen willst, guck mal im PHP-Handbuch nach

    @masterquest: Naja, fast richtig. Hab ja bisher nur Knoppix mal benutzt, und ich glaube, da lag die Datei in /etc/apache, obwohl ich keine Möglichkeit gefunden habe, einen Apache zu starten. Naja, vielleicht bin ich einfach nur zu blöd (oder irre mich).

  17. #17
    Oo dumm irgendwie, wenn das Teil die ID in nen Cokkie speichert, braucht der Surfer doch Cookies, oder net?

    Dennis

  18. #18
    Zitat Zitat von dennis_meckel
    Oo dumm irgendwie, wenn das Teil die ID in nen Cokkie speichert, braucht der Surfer doch Cookies, oder net?

    Dennis
    Jup aber man kann wie gesagt die ID kann auch über adresszreile oder über ein inpute hidde übergebn.

  19. #19
    Hm, eigentlich ist es so umständlicher, ich brauch nurn damit ich net ein Gespamms in nem Gästebuch und ein immer steigenden Counter habe.

    Darum poste ich nochchmal den Code:
    PHP-Code:
    001: <?php setcookie("7159052138""eintraege_ok"time()+60*1"7159052138""http://dennismeckel.de.sr"1); ?>
    ABC: [...]
    DEF: <body>
    145: <?php echo $_COOKIE['7159052138']; ?>
    XYZ: [...]
    Code:
    Notice: Undefined index: 7159052138 in E:\Eigene Dateien\HomePage\!nternetseiten\d_m\gaestebuch\speichern.php on line 145

    Dennis
    PS: ja man kann einen löschen oder nicht annehmen, na und?

  20. #20
    Also ich glaube es liegt am Cookie Code

    PHP-Code:
    setcookie("Cookiename""Cookieinhalt",time()+9600); 
    und auslesen tuht man den cookie einfach $Cookiename

    naja wenn ich meht als 1 Inhalt in einem Cookie speichern willl mache ich das dann z.B. so

    PHP-Code:
    $user_daten_save "$nickname@$pwd";
    setcookie("Cookie"$user_daten_save,time()+9600);


    $cookielesen preg_split("/@/"$Cookie);

    $nickname_login $cookielesen [0]; 
    $pwd_login $cookielesen[1]; 

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •