SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.08.2008, 17:14:27
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
$_SESSION Speichert array nicht


Problem gelöst, es lag an der value bezeichnung einer foreach schleife
z. B. foreach($_SESSION['TEST']) as $TEST){};
nach änderung des Values Variable funktionierte alles einwandfrei
ich interpretiere das Bezeichnung key Value nicht gleich sein darf in dem fall TEST
richtig also
z. B. foreach($_SESSION['TEST']) as $TEST_anderst){};

ich habe Debian lampp Standard istallation PHP Version 5.2.6

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Zitat:
register_globals=On
das solltest du abschalten dann wird es klappen.

und magic_quotes_gpc=On wohl auch abschalten

Beide fliegen mit PHP6 sowieso ersatzlos raus....
alles i.o. nach der anweisung.

Hallo Leute,

ich habe folgendes problem:

wenn ich array in eine Session Speichere vergisst die Session das Array, woran liegt das?

vorweg:
Ich hatte ein kleines Spiel gemacht was auf ein Server funste, jetzt kam es zum Server wechsel und dann kam ein Fehler, die Fehlermeldung weis ich nicht mehr aber es war quasi das ein ähnliches problem in bezug array Session und hatte mein Script komplett umgeschrieben.

jetzt habe ich wieder ein problem was Session und Array betrifft und will wissen was das ist.

man Drückt Generrieren über POST wird eine if(){}; angesprochen die lößt eine function(){}; die genneriert Karten array(Incremental => array(0 => x, 1 => x)) das wird einer SESSION angehängt
$_SESSION[Name] = array() // vor meiner schleife
// schleife
array_push($_SESSION[name], oben generiertes array)

unten lese ich es mit foreach aus

verhalten:
1. öffnen der seite --> foreach fehler --- logisch es gibt kein array
1.1. drücke generrieren
2. seite wird geladen, foreach gibt korreckt die gerade generierten Zahlen für die Karten aus.
3. Lade die Seite neu (kein reload) Wir haben ja eine SESSION aber --> foreach gibt nur das erste array in array aus und das zweite array in array mit leeren werten
4. Lade nochmal neu nun gibt es garnichts mehr. -->bei print_r steht nur 12 <-- zumindest jetzt

mein Script:
/EDIT:
habe mal den Script gekürzt
Auf Seite 2 ist eine starke zusammenfassung des Scripts
PHP-Code:
<?PHP
         
function Zufallskarten ()
         {
            unset(
$_SESSION[Zieh_Karten_Spieler]);
            unset(
$_SESSION[Zieh_Karten_Marco]);
            
// Genneriere fuer Player $Spieler 16 Karten
            
$_SESSION[Zieh_Karten_Spieler] = array();
            for(
$x=0$x<16$x++)
               {
                  unset(
$Stop);
                  while(empty(
$Stop))
                     {
                        unset(
$weiter);
                        
srand((double)microtime() * 1000000);
                        
$ZufallsZahl_Karte rand (714);
                        
srand((double)microtime() * 1000000);
                        
$ZufallsZahl_Farbe rand (14);
                        foreach(
$_SESSION[Zieh_Karten_Spieler] as $Zieh_Karten)
                           {
                            if(
$Zieh_Karten[0] == $ZufallsZahl_Karte and $Zieh_Karten[1] == $ZufallsZahl_Farbe)
                              {
                                 
$weiter True;
                              };
                           };
                        if(empty(
$weiter))
                          {
                             
array_push($_SESSION[Zieh_Karten_Spieler], array($ZufallsZahl_Karte,  $ZufallsZahl_Farbe));
                             
$Stop True;
                          };
                     };
               };
            
// Genneriere fuer Player Marco 16 Karten
            
$_SESSION[Zieh_Karten_Marco] = array();
            for(
$x=0$x<16$x++)
               {
                  unset(
$Stop);
                  while(empty(
$Stop))
                     {
                        unset(
$weiter);
                        
srand((double)microtime() * 1000000);
                        
$ZufallsZahl_Karte rand (714);
                        
srand((double)microtime() * 1000000);
                        
$ZufallsZahl_Farbe rand (14);
                        foreach(
$_SESSION[Zieh_Karten_Marco] as $Zieh_Karten_Marco)
                           {
                            if(
$Zieh_Karten_Marco[0] == $ZufallsZahl_Karte and $Zieh_Karten_Marco[1] == $ZufallsZahl_Farbe)
                              {
                                 
$weiter True;
                              }
                            else
                              {
                                foreach(
$_SESSION[Zieh_Karten_Spieler] as $Zieh_Karten_Spieler)
                                   {
                                      if(
$Zieh_Karten_Spieler[0] == $ZufallsZahl_Karte and $Zieh_Karten_Spieler[1] == $ZufallsZahl_Farbe)
                                         {
                                            
$weiter True;
                                         };
                                   };
                              };
                           };
                        if(empty(
$weiter))
                          {
                             
array_push($_SESSION[Zieh_Karten_Marco], array($ZufallsZahl_Karte,  $ZufallsZahl_Farbe));
                             
$Stop True;
                          };
                     };
               };
         };

if(isset(
$_POST[Gen]))
   {
Zufallskarten();echo "if PIST Gen";};
echo 
"<form method=\"POST\">
<input type=\"submit\" name=\"Gen\" value=\"Gennerieren\" />
</form>"
;

echo 
"<form method=\"POST\">
ist nur leerer post:
<input type=\"submit\" value=\"Refresh\" />
</form>"
;
////////////////
// TEST
echo "<BR><BR><BR>";

print_r($_SESSION[Zieh_Karten_Spieler]);

echo 
"<br><br><br>";

error_reporting(E_ALL);
?>

Geändert von McB_sser (07.08.2008 um 18:21:29 Uhr)
Mit Zitat antworten
  #2  
Alt 06.08.2008, 17:59:19
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: $_SESSION Speichert array nicht

$_SESSION kann sehrwohl Arrays speichern!
Du machst also irgendwas falsch.
Aber KA was, ich blicke nicht durch(und will auch nicht - ist mir zu konfuß)

Tipp:
Drehe mal error_reporting() hoch. Dein Code müsste dich mit Meldungen zudonnern.

Geändert von DokuLeseHemmung (06.08.2008 um 18:00:37 Uhr)
Mit Zitat antworten
  #3  
Alt 06.08.2008, 18:11:01
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: $_SESSION Speichert array nicht

bei error_reporting(E_ALL);

bekomme ich:


Notice: Use of undefined constant Menue - assumed 'Menue' in /opt/lampp/htdocs/Inhalt_Statisch/Inahalt/index.php on line 29

Notice: Use of undefined constant Menue - assumed 'Menue' in /opt/lampp/htdocs/Inhalt_Statisch/Inahalt/index.php on line 33

paar mal

und noch

Notice: Use of undefined constant Benutzer_Recht - assumed 'Benutzer_Recht' in /opt/lampp/htdocs/Inhalt_Statisch/Inahalt/index.php on line 43


allerdings hat das nichts mit meine datei zu tun die hat ein anderen pfad und dateinamen
Mit Zitat antworten
  #4  
Alt 06.08.2008, 18:56:45
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: $_SESSION Speichert array nicht

Zitat:
allerdings hat das nichts mit meine datei zu tun
Du bist ja witzig....
Dann drehe es doch mal in der Datei hoch, die es auch braucht.

Und übrigens: Du solltest alle Meldungen beseitigen.
Also erheblich sauberer arbeiten.
Mit Zitat antworten
  #5  
Alt 06.08.2008, 19:07:01
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: $_SESSION Speichert array nicht

nagut da müsst ich mich mal rann machen wenn ich die datei einzeln öffne erzeugt error_reporting(E_ALL); keine fehlermeldung.

/Edit
was sagt die obere fehlermeldung eigentlich aus, das ich die Variable definieren soll wie z. B. das es ein String ist?

Geändert von McB_sser (06.08.2008 um 19:12:39 Uhr)
Mit Zitat antworten
  #6  
Alt 06.08.2008, 19:12:33
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: $_SESSION Speichert array nicht

Glaube ich nicht!!
Alleine if(isset($_POST[Gen])) müsste schon eine Notice liefern.
Und das findet sich an dutzenden Punkten in deinem Script.
Mit Zitat antworten
  #7  
Alt 06.08.2008, 19:17:12
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: $_SESSION Speichert array nicht

ne ehrlich nicht, kommt nichts... habe noch mal geschaut ob error_reporting(E_ALL); eingefügt ist und ... nichts, kein fehler. zumindest von error_reporting(E_ALL);

foreach ist klar.

Edit:
habe den Script gekürzt. aufs wesenstlichste.

Geändert von McB_sser (06.08.2008 um 19:59:37 Uhr)
Mit Zitat antworten
  #8  
Alt 06.08.2008, 19:59:23
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: $_SESSION Speichert array nicht

Zitat:
Zitat von McB_sser Beitrag anzeigen
nagut da müsst ich mich mal rann machen wenn ich die datei einzeln öffne erzeugt error_reporting(E_ALL); keine fehlermeldung.

/Edit
was sagt die obere fehlermeldung eigentlich aus, das ich die Variable definieren soll wie z. B. das es ein String ist?
du verwendest $array[key] es müsste aber korrekterweise $array['key'] lauten (jaja, oder $array["key"]).
Mit Zitat antworten
  #9  
Alt 06.08.2008, 20:13:55
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: $_SESSION Speichert array nicht

Zitat:
Zitat von feuervogel Beitrag anzeigen
du verwendest $array[key] es müsste aber korrekterweise $array['key'] lauten (jaja, oder $array["key"]).
habe jetzt alles array["key"] umgeändert ergebnis ist in bezug meiner frage das selebe geblieben.

und ich bin mir nicht sicher aber ist das nicht egal? sollange der key zusammen ist?

z. B.
Korekt:
123
Das_ist_ein_Test

Falsch
1 2 3
Das ist ein Test

oder lieg ich da falsch?
Mit Zitat antworten
  #10  
Alt 07.08.2008, 08:33:53
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: $_SESSION Speichert array nicht

Zitat:
Zitat von McB_sser Beitrag anzeigen
habe jetzt alles array["key"] umgeändert ergebnis ist in bezug meiner frage das selebe geblieben.

und ich bin mir nicht sicher aber ist das nicht egal? sollange der key zusammen ist?
Bei assoziativen Arrays ist der Schlüssel vom Typ String. Ein String (http://de.php.net/manual/de/language.types.string.php) kann auf vier Arten definiert werden (siehe link). Keine davon sieht vor, einfach so was zu machen:

PHP-Code:
$string abc
und da spielt es auch keine rolle ob du abc oder a b c schreibst oder a_b_c..., denn das was Du da eigentlich verwendest, sind Konstanten: http://de.php.net/manual/de/language.constants.php zumindest wenn du die Zeichenkette ohne Leerzeichen schreibst.

Und: Ja, die Schlüssel von Arrays dürfen Leerzeichen enthalten:

PHP-Code:
<?php
error_reporting
(E_ALL);
   
$a["das ist ein key"] = "abc";
print_r($a);
?>
Bevor Du Dich mit Sessions beschäftigst, solltest Du Dir vielleicht erst mal die grundlegenden Datentypen von PHP zu Gemüte führen.

Und wenn Du jetzt willst, dass Dir jemand bei der Session hilft: Bitte reduziere Dein Skript soweit auf nötigste, um das Problem zu verdeutlichen, denn so unübersichtlich wie das jetzt grade ist, versteht da eh keiner was.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array umstrukturieren Tikiwiki PHP Grundlagen 2 28.07.2008 14:24:28
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 13:02:47
array im array SolidBody PHP Grundlagen 3 20.07.2006 14:38:41
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 14:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt