Frage zu Cookies

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

  • Frage zu Cookies

    Hallo Leute

    Ich probiere gerade ein wenig mit cookies rum und bin da auf ein kleines problemchen gestoßen.

    Ich möchte wenn man auf einen Link klickt ein cookie array anlegen lassen. Wo jedes element eine stringfolge zugewiesen bekommt.

    Der index des arrayfeldes soll von einer getvariablen übergeben werden. Und das scheint auch das Problem zu sein.


    Hier mal der code:

    PHP-Code:
    $t1     $_GET['t1'];
    $t2     $_GET['t2'] ; 
    $t3     $_GET['t3'];
    $t4     $_GET['t4'];
    $id      $_GET['id'];

    $temp "$t1,$t2,$t3,$t4";
    $data explode (",",$temp);

    setcookie ("test[$id]"$data);

    if (isset(
    $_COOKIE['test']))
         {
       echo 
    'daten wurden aufgenommen';
         echo 
    '<a href="ausgabe.php">ansehen</a>';
         }
         else
            {
                echo 
    'Cookie konnte nicht gesetzt werden';
          } 
    und mal die Fehlermeldung

    Warning: setcookie() expects parameter 2 to be string, array given in /srv/www/htdocs/web553/html/test/setcookie.php on line 11
    Schonmal danke für eure hilfe

    cu
    moxxx

  • #2
    Warning: setcookie() expects parameter 2 to be string, array given in /srv/www/htdocs/web553/html/test/setcookie.php on line 11
    da steht eindeutig das ein string erwartet wird und KEIN array

    bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
    mfg

    Kommentar


    • #3
      hm.. liest dir mal noch mal http://de3.php.net/manual/en/functio....php#AEN122190 durch und erklär noch mal besser, was du vorhast.

      Kommentar


      • #4
        ja auf der seite bin ich schon aber irgendwie bekomme ich meine lösung net ganz zusammen .

        Das ganze sollte wie ein vormerkfunktion laufen.

        mann ist auf einem Beitrag der aus einer mysql DB ausgelesen wird.

        wenn man auf den link vormerken geht sollen sollen verschiedene daten aus dem ausgewählten datensatz an die setcookie datei übergeben werden.

        Die setcookie.php soll dann ein cookie erstellen das diese daten erfasst

        werd da auch nochma nen bissel rumprobieren

        schonmal danke für die hilfe

        cu
        moxxx

        Kommentar


        • #5
          So ich habe da mal nen bissel rum probiert

          und so macht er auch was er soll

          mal der code

          PHP-Code:
          <?php 
          $t1 
          $_GET['t1'];
          $t2  $_GET['t2'] ; 
          $t3    $_GET['t3'];




          setcookie (test[1], $t1);
          setcookie (test[2], $t2);
          setcookie (test[3], $t3);



          if (isset(
          $_COOKIE[test]))
               {
             echo 
          'Artikel wurde vorgemerkt';
               echo 
          '<a href="ausgabe.php">ansehen</a>';
               }
               else
                  {
                      echo 
          'Cookie konnte nicht gesetzt werden';
                }
           
          ?>
          das funzt auch einwandfrei .

          meine frage ist jetzt ob ich den cookie namen auch von einer variable übernehmen kann so das cookies mit mehreren inhalten angelegt werden .
          und wie bekomme ich die cookies nacheinander ausgelesen.

          Mann kann sich das auch als eine art warenkorb vorstellen.
          vobei halt nur die vorgemerkten beiträge auf einer seite mit ein paar infos zum beitrag aufgelistet werden sollen

          Mein erster gedanke war halt alles in einen cookie zu speichern.
          Aber da weiss ich net genau wie.

          Mit ner DB uns Sessions wär das wahrscheinlich besser aber das ganze solle ohne login passieren.

          wäre nett wenn jemand rat weiss)

          cu
          moxxx
          Zuletzt geändert von stigger; 12.08.2006, 22:36.

          Kommentar


          • #6
            Original geschrieben von stigger
            Mein erster gedanke war halt alles in einen cookie zu speichern.
            Aber da weiss ich net genau wie.
            ... und der erste gedanke ist immer der beste

            code:
            $temp = "$t1,$t2,$t3,$t4";
            $data = explode (",",$temp);

            fehler:
            Warning: setcookie() expects parameter 2 to be string, array given

            also warum explode?
            array explode ( string separator, string string [, int limit] )
            explode gibt ein array zurück, das ist auch die ursache des fehlers.

            so, das wars zu deinem grundlegenden problem.
            ferner solltest du dir auch genau überlegen, was du in den cookies ablegst, weil der cookie kommt vom client und kann demzufolge auch manipuliert sein, weil du das thema warenkorb ansprichst (z.b. preismanipulation).

            Kommentar

            Lädt...
            X