php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.12.2011, 21:49  
YEP
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 116
PHP-Kenntnisse:
Anfänger
YEP befindet sich auf einem aufstrebenden Ast
Standard Merkliste durch Session erweitern

Hallo.

Ich versuche gerade eine Merkliste zu erstellen.

Derzeit kann ich nur einen Eintrag in diese Liste aufnehmen. Wie erreche ich es, dass ich mehrere Werte in diese Liste aufnehmen kann?

Hier der Aufruf zu Merken:

PHP-Code:
echo '<a id="'$row->objektnr '" style="cursor: pointer;" class="my_Weiterempfehlen" onclick="myPopup2(id)"> Objekt merken</a>'
dann das Schreiben in die Session:

PHP-Code:
<?php
error_reporting
(E_ALL); #zeig alle Fehler 
ini_set('display_errors''1'); 

require_once 
'cms/inc/connect.inc.php';
    
$verbindung = @mysqli_connect($server$benutzer$passwort);
         
     if (
$verbindung){
         
mysqli_select_db($verbindung$datenbank);
    
    if(
mysqli_error($verbindung)){
      echo 
'Fehler: ' mysqli_error($verbindung);
                  
      }else{
                
        if (isset(
$_GET['objektnr'])) {
                                                        
        
$sql "SELECT objektnr FROM objekte WHERE objektnr = '" $_GET['objektnr'] . "';";
                                                                        
        
$auswahl mysqli_query($verbindung$sql);
        
        
print_r($auswahl);
            
            
$_SESSION['merk_array'][] = array();
                                        
            while(
$merken mysqli_fetch_assoc($auswahl))
            {
       
            
$_SESSION['merk_array']['objektnr'] = $merken['objektnr'];
                            
            }
        
        echo 
"<center><strong>Das Objekt wurde gemerkt.</strong></center><br><br>";        
                 
        } else { 
"<center><strong>Das Objekt wurde nicht gemerkt.</strong></center><br><br>";        
    }
} }        echo 
'<center><div><input type= "submit" name="" value="zurück zum Objekt" onclick="window.opener.location.reload(true); setTimeout(window.close(),1000);"></div></center>';
?>
und letztendlich die Ausgabe im Listenbereich:

PHP-Code:
<?php             

    
if(empty($_SESSION['merk_array']['objektnr'])) {
    
    echo 
"Kein Objekt in der Merkliste";
    
    }else{
        
    
$merken $_SESSION['merk_array']['objektnr'];    
        
    echo 
'<a href="objekt_detail.php?objektnr='$merken '" style="cursor: pointer;">'$merken '</a>'; }
?>

Geändert von YEP (19.12.2011 um 21:54 Uhr).
YEP ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.12.2011, 21:54  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

$_SESSION['merk_array']['objektnr'] erweitern. $_SESSION['merk_array']['objektnr'][].
chorn ist offline   Mit Zitat antworten
Alt 19.12.2011, 21:55  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

du überschreibst deine Sessionwerte immer selbst indem du ständig in

PHP-Code:
$_SESSION['merk_array']['objektnr'] = $merken['objektnr']; 
schreibst.

Stattdessen solltest du z.B.

PHP-Code:
$_SESSION['merk_array'][] = $merken['objetnr']; 
machen und das brauchst du auch nicht in einer while-Schleife zu machen, da du ja eine (hoffentlich) eindeutige ID abfragst...

Grüße,

Dirk
DirkHo ist offline   Mit Zitat antworten
Alt 19.12.2011, 22:22  
YEP
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 116
PHP-Kenntnisse:
Anfänger
YEP befindet sich auf einem aufstrebenden Ast
Standard

Hallo und vielen Dank erstmal.

Ich habe den betreffenden Bereich wie folgt geändert:

PHP-Code:
$_SESSION['merk_array'][] = array();
                                        
            while(
$merken mysqli_fetch_assoc($auswahl))
            {
       
            
$_SESSION['merk_array']['objektnr'][] = $merken['objektnr'];
                            
            } 
Die Ausgabe modifiziert auf:

PHP-Code:
$merken $_SESSION['merk_array']['objektnr'];
        
        foreach(
$_SESSION['merk_array'] as $key){
        
        
$merken $key['objektnr']; ----> <Line 14
    
        
echo '<a href="objekt_detail.php?objektnr='$merken '" style="cursor: pointer;">'$merken ',&nbsp;</a>';
    
        } 
Nun verhält es sich so das ich alle Objekte (5 in der Zahl) in der Liste angezeigt bekommen, zuätzlich erhalte ich noch folgende Fehlermeldung:

Code:
Notice: Undefined index: objektnr in /nav/navi_merkliste.php on line 14
, das ganze 8 mal, warum auch immer.

Nachtrag:
PHP-Code:
$merken $_SESSION['merk_array']['objektnr'];
var_dump($merken); 
Ich habe zwei mal ein Objekt ausgewählt:

array(2) { [0]=> string(5) "AS001" [1]=> string(5) "AS002" }, die Session ist schon mal korrekt.

Geändert von YEP (19.12.2011 um 23:02 Uhr).
YEP ist offline   Mit Zitat antworten
Alt 20.12.2011, 01:35  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$_SESSION['merk_array']['objektnr'][] = $merken['objektnr']; 
PHP-Code:
$merken $key['objektnr']; 
Du speicherst in Line 14 ein Array in der Variable merken, nicht den Wert!
Ein Beispiel für Line 14 wäre
PHP-Code:
$key->['objektnr'][1
anstelle von
PHP-Code:
$key->['objektnr'
um DEN WERT in $merken zu speichern.

Müsstest doch aber eig. selbst erkennen, augrund des var_dump, dass $merken ein Array ist.

Geändert von Solu (20.12.2011 um 01:39 Uhr).
Solu ist offline   Mit Zitat antworten
Alt 20.12.2011, 11:53  
YEP
Erfahrener Benutzer
 
Registriert seit: 24.08.2009
Beiträge: 116
PHP-Kenntnisse:
Anfänger
YEP befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Du speicherst in Line 14 ein Array in der Variable merken, nicht den Wert!
Ok das verstehe ich soweit, aber die Auflösung über $key->['objektnr'][1] verstehe ich ehrlich gesagt nicht so ganz.

Ich habe es jetzt so gelöst:

PHP-Code:
}else{
                                
        foreach(
$_SESSION['merk_array']['objektnr'] as $key){
            
        echo 
'<a href="objekt_detail.php?objektnr=' $key '" style="cursor: pointer;">' $key '</a>&nbsp;&nbsp;';
    
        } 
Das funktioniert einwandfrei und ist für mich auch logisch.

Kannst du mir bitte noch mal deine Variante näher bringen, ich möchte das gerne verstehen, danke.

Gruß
YEP ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Fragen zu Login und Session (geschützter Bereich) ts.ts PHP Einsteiger 12 14.10.2011 17:36
Session sicherheit mit IP Adresse??? Sven1987h PHP Einsteiger 9 11.10.2011 11:37
Session GC und Timeout nutcracker PHP Einsteiger 1 24.01.2011 19:32
[Erledigt] $_SESSION frage tomnar PHP Tipps 2010 24 09.11.2010 19:37
session variable verschwindet bei erneutem seitenaufruf david.a.p. PHP Tipps 2009 2 17.08.2009 16:07
SessionHandler - Sessions in einer Datenbank #Avedo Software-Design 11 04.05.2009 15:44
[Erledigt] Problem mit der übergabe einer Session ID Shinak PHP Tipps 2009 12 13.03.2009 14:30
Session nofear87 PHP Tipps 2008 8 05.11.2008 10:42
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session erweitern php, merkliste mit php, php merkliste, php merkliste mit session, php sessio merkliste, php session array erweitern, merkliste mit sessions, php session variable erweitern, php session erweitern, merkliste session

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum