[SESSIONS] Warenkorb Ich verstehs nidde :-/

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

  • [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!
    Zuletzt geändert von 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.

    Kommentar


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

      Kommentar


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

        Kommentar


        • #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

          Kommentar


          • #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.

            Kommentar


            • #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!

              Kommentar


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

                Kommentar


                • #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*

                  Kommentar


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

                    Kommentar


                    • #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.

                      Kommentar


                      • #12
                        Print_r gibt das aus: 3

                        und var_dump dieses: string(1) "3"

                        Kommentar


                        • #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.

                          Kommentar


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

                            Noch nen tipp?

                            Kommentar


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

                              Kommentar

                              Lädt...
                              X