Problem mit verknüpfen von zeichenketten

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

  • Problem mit verknüpfen von zeichenketten

    Ich hab ein problem mit dem verknüpfen von zeichenketten. Und zwar sollen in einer foreach-schleife alle produkt-ids als zeichenkette ausgegeben werden (HTML-liste). Diese werden in ein html template geschrieben, dies geschieht mittels str_replace().

    auszug aus shop.php
    PHP-Code:
    <?php
    ...

    if( 
    $_GET["produkt_id"] )
    ### Produkt-ID's im Session-Array speichern ###
    $_SESSION["ausgewaehlte_produkte"][] = $_GET["produkt_id"];


    ###html-template einlesen
    $template file_get_contents('produkte.html');
    ....

    ### Vorhandene Produkt-ID'S aus dem Session-Array lesen, falls welche existieren ###
    if(array_key_exists"ausgewaehlte_produkte"$_SESSION ) && count$_SESSION["ausgewaehlte_produkte"]) > 0

    $message.= "<ul>\n";
    foreach( 
    $_SESSION["ausgewaehlte_produkte"] as $ids )
       
    $message.= "<li>$ids\n";
    $message.= "</ul>\n";

    }

    ### Die zeichenkette [inhalt] wird durch die variable $message ersetzt
    $template2 str_replace("[inhalt]"$message$template); 

    echo 
    $template2## template mit den id's ausgeben

    session_destroy();
    break; 
    }
    ?>
    auszug aus template produkte.html

    <div id="warenkorb">Ihr Warenkorb:<br>
    [inhalt]
    </div>


    Das problem ist, wenn sich z.b. die produkt-id "1" im array befindet , erscheint im html-template auch die 1 als listeneintrag
    Wird das php skript wieder aufgerufen, weil eine neue produkt-id "2" dem array hinzugefügt wurde, erscheint dann anstelle der 1 die 2 in der liste. Ich möchte aber das dort die 1 stehen bleibt, dann die 2 folgt, also erweitert wird.
    Das funktioniert nicht obwohl die listeneinträge ja immer erweitert / verknüpft werden mit dem .= operator.
    Die variable $message hat nicht den gwünschten inhalt "<u1><li> 1 <li> 2 </u1> sondern nur "<u1><li> 1 </u1>"
    Wo liegt der fehler?

    mfg
    roh101
    Zuletzt geändert von roh101; 25.08.2006, 11:56.

  • #2
    formatiere deinen code mal mit [ php]Tags. das steht so in unseren regeln und sollte also auch befolgt werden.

    PHP-Code:
     message.= "<li>$ids\n"
    Da hat sich mindestens ne leertaste eingeschlichen.

    error_reporting eingeschaltet?

    Kommentar


    • #3
      An dem leerzeichen liegt es nicht, hab es auch schon korrigiert. Hab selber schon den fehler gefunden. Die funktion session_destroy() muss weg, dann klappt alles.

      roh101

      Kommentar

      Lädt...
      X