[SESSIONS] Warenkorb Ich verstehs nidde :-/

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [SESSIONS] Warenkorb Ich verstehs nidde :-/

    soa nabend!

    Sitze nun schon ellenlange und versuche meinen warenkorb dazu zubringen die artikel in ein array zu schreiben!

    Der In-Die-Session_einfüge_Schnipsel
    PHP Code:
        session_start();
        
    $_SESSION['pid'][] = $_GET['id'];
        echo 
    "<meta http-equiv=\"refresh\" content=\"2; URL=?action=warenkorb\">";
        echo 
    "Der Artikel wurde hinzugefügt!<br>"
    Die Ausgabe:
    PHP Code:
    if(!isset($_SESSION['pid']))
        {
            echo 
    "Keine Artikel vorhanden<p><a href='?action=&PHPSESSID=".$sessid."'>Mailer aussuchen</a><br>";
        } else {
        
    $count count($_SESSION['pid']);
        
    $i 0;
        
        for(
    $i$i<$count$i++) {
    mysqlconnect();
            
    $tbname "bestellungen";
            
    $artikel $_SESSION['pid'];
            
    $sql mysql_query("SELECT * FROM $tbname WHERE id='$artikel'");
    while(
    $row mysql_fetch_assoc($sql)) {
                echo 
    $row['name']; 
    Auf meinem home rechner läuft das ohne probleme.
    Wenn ich das auf meinem space lade, kommt immer die Fehlermeldung:
    Fatal Error: Operator is not supported für Strings
    Das komsiche daran is, dass ich einen Artikel einfügen, der zweite geht dann nichtmehr und die fehlermeldung kommt. Das witzige ist auch, dass ich nur artikel speichern kann, wo die pid einstellig is, zweistellige nimmt er gar nicht an!

    Bin für jede Hilfe dankbar!
    Last edited by caschti84; 28-08-2005, 19:36.

  • #2
    eine zeilenangabe zur fehlermeldung wäre nicht schlecht.

    generell gilt - mit E_ALL in der entwicklungsphase fährt man immer besser.

    Comment


    • #3
      achja, die zeile für die fehlermeldung ist folgende:
      PHP Code:
          $_SESSION['artikel'][] = $_GET['id']; 

      Comment


      • #4
        dann lass dir doch davor erstmal mit print_r() oder gar var_dump() ausgeben, was in $_SESSION alles drin ist.

        Comment


        • #5
          dann gibt er mir die pid raus. Aber ich kann nur eine darin irgendwie speichern. Sobald ich die zwiete in des array speichern will kommt: dieser fehler:

          PHP Code:
          Fatal error: [] operator not supported for strings in /var/www/web21/html/warenkorb.php on line 34 
          Code aus der Zeile:
          PHP Code:
             session_start();
              
          $_SESSION['artikel'][] = $_GET['id'];
              
          header("LOCATION: warenkorb.php?aktion=warenkorb"); 
          caschti84

          Comment


          • #6
            dann gibt er mir die pid raus
            dann zeig doch mal die ausgabe.

            ich vermute nämlich, das das element 'pid' vom typ string ist, weil du es woanders schon so anlegst. deswegen kannst du auch mit [] nichts dranhängen - es ist einfach kein array zu diesem zeitpunkt.

            Comment


            • #7
              den einen fehler hab ic hschonmal. nun kommt die fehlermeldung nicht mehr:

              hatte das array $_SESSION8'artikel'] zweimal definiert (weil wegen [] dahinter)

              Nun hab ich noch das problem, dass der mir immer nur einen wert speichert. Also der 1. vorhandene Wert wird immer überschrieben.

              Zweites Problem: Ids, die zweistellig sind, speichert er mir auch nicht!

              Comment


              • #8
                meine glaskugel kann mir nicht verraten, um welches stück code es jetzt geht.

                Comment


                • #9
                  ausgabe ist :
                  PHP Code:

                  *lach*

                  muuuh, ich hab die einträge in der db ja als string glaub ich gespeichert :-/

                  sofort nachgucken *gggg*

                  *kopphau*

                  Comment


                  • #10
                    der eintrag "id" war als "INT" gespeichert, was ja normal richtig ist, oder?

                    Comment


                    • #11
                      ja.

                      aber die ausgabe ist nicht 2. sowohl print_r() als auch var_dump() geben mehr aus. dann sei doch so nett und zeige alles, wenn du hilfe erwartest.

                      Comment


                      • #12
                        Print_r gibt das aus: 3

                        und var_dump dieses: string(1) "3"

                        Comment


                        • #13
                          ich vermute nämlich, das das element 'pid' vom typ string ist, weil du es woanders schon so anlegst.
                          hat sich somit bestätigt.

                          Comment


                          • #14
                            und wie ändere ich des nun?
                            weil in der db is des ja als integer.

                            Noch nen tipp?

                            Comment


                            • #15
                              willst du nicht dein problem erst einmal klar und deutlich formulieren?

                              Comment

                              Working...
                              X