php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-07-2007, 09:26
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Variablen] array in SESSION übermitteln

Ich möchte gerne ein mehrdimensionales array in einer SESSION übergeben.

ich habe folgenden Aufbau:

ich fülle das array wie folgt mit Inhalten:
while ($zeige_daten = @mysql_fetch_row ($lese_versuch)) {
$array_[2][] = $zeige_daten[2];
$array_[3][] = $zeige_daten[3];
$array_[4][] = $zeige_daten[4];
$array_[5][] = $zeige_daten[5];
$array_[6][] = $zeige_daten[6];
$array_[7][] = $zeige_daten[7];
$array_[8][] = $zeige_daten[8];
$array_[9][] = $zeige_daten[9];
$array_[11][] = $zeige_daten[11];
$array_[12][] = $zeige_daten[12];
$array_[13][] = $zeige_daten[13];
$array_[14][] = $zeige_daten[14];
$m++;
}

registriere mit:
$_SESSION['array_'] = $array_;

und versuche mit...
$array = $_SESSION['array_']; ...das array in dem anderen Skript wieder für mich zur Verfügung zu stellen.

Leider wird nichts übergeben und auch mit is_array() wird mir angezeigt, dass kein array vorhanden ist.

Bitte um Tipps und Hilfen...
Mit Zitat antworten
  #2 (permalink)  
Alt 02-07-2007, 09:31
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

hast du die session gestartet?

edit:
was soll eigentlich diese leere eckige klammer?
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #3 (permalink)  
Alt 02-07-2007, 09:32
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja, habe in allen skripten session_start(); direkt am Anfang, bevor etwas anderes kommt...
Mit Zitat antworten
  #4 (permalink)  
Alt 02-07-2007, 09:40
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

omg warum auch immer merk ich grad erst dass du da ja völligen humbug machst
probiers ma mit:

$array_[$m] = $zeige_daten[$m];
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #5 (permalink)  
Alt 02-07-2007, 09:48
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, aber das Array war schon richtig mit Werten gefüllt, aber Du hast natürlich Recht, dass es wie folgt besser aussieht:

$m = 0;
while ($zeige_daten = @mysql_fetch_row ($lese_versuch)) {
$array_[2][$m] = $zeige_daten[2];
$array_[3][$m] = $zeige_daten[3];
$array_[4][$m] = $zeige_daten[4];
$array_[5][$m] = $zeige_daten[5];
$array_[6][$m] = $zeige_daten[6];
$array_[7][$m] = $zeige_daten[7];
$array_[8][$m] = $zeige_daten[8];
$array_[9][$m] = $zeige_daten[9];
$array_[11][$m] = $zeige_daten[11];
$array_[12][$m] = $zeige_daten[12];
$array_[13][$m] = $zeige_daten[13];
$array_[14][$m] = $zeige_daten[14];
$m++;
}

Das Problem besteht weiterhin. Das array ist in dem Skript, in dem es erstellt und gefüllt wurde so wie es sein soll, nur die Übergabe an ein anderes Skript funktioniert nicht...
Mit Zitat antworten
  #6 (permalink)  
Alt 02-07-2007, 09:57
Donbuffi
 Newbie
Links : Onlinestatus : Donbuffi ist offline
Registriert seit: Jan 2007
Beiträge: 8
Donbuffi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hast du nach der schleife mal den Wert in m ausgeben lassen? Wenn er 0 ist, war deine query falsch. Sie hat entweder einen Fehler erzeugt oder sie war erfolgreich, aber hat keine Rückgabe erzeugt.

Wenn die Schleife wirklich so funktioniert wie sie soll, könnte es sein, dass die Verbindung zur Datenbank vorher nicht richtig aufgebaut wurde.

Du schreibst in deinem zweiten Skript (also da, wo die daten hin sollen) wirklich $array = $_SESSION['array_']; ? Prüfst du dann auch, ob $array ein array ist und nicht $array_ ? Mir fallen die verschiedenen Namen auf.
Mit Zitat antworten
  #7 (permalink)  
Alt 02-07-2007, 09:57
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

ja ich weiß zwar net warum du 13 mal den gleichen wert speichern willst aber is deine sache

was bekommst du denn für fehlermeldungen?
enthält session überhaupt irgendwelche werte?
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #8 (permalink)  
Alt 02-07-2007, 10:04
Donbuffi
 Newbie
Links : Onlinestatus : Donbuffi ist offline
Registriert seit: Jan 2007
Beiträge: 8
Donbuffi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

13 mal der gleiche Wert ist es nicht, er nimmt array_[index] als Spalte und schreibt in array_[2] alle Werte rein, die bei seinen Ergebnissen in Spalte 2 stehen. Also in etwa so:

Durchlauf mit m = 0:

array_[2][0] = "Mama";
array_[3][0] = 50;

Durchlauf mit m = 1:

array_[2][1] = "Papa";
array_[3][1] = 55;
Mit Zitat antworten
  #9 (permalink)  
Alt 02-07-2007, 10:10
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es gibt keine Fehler beim erstellen des array, also auch nicht mit der Datenbank oder der Verbindung damit, das array ist auch richtig erstellt, nur die Übermittlung bzw. das 'Weiterbenutzen' in einem anderen Skript funktioniert nicht.

Ich habe auch mit...
print_r($_SESSION['array_']);
... überprüft, ob das array richtig angelegt, gefüllt und in der session gespeichert wurde. Das ist soweit alles in Ordnung.

... nur das Übergeben irgendwie nicht...
Mit Zitat antworten
  #10 (permalink)  
Alt 02-07-2007, 10:18
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Donbuffi
13 mal der gleiche Wert ist es nicht, er nimmt array_[index] als Spalte und schreibt in array_[2] alle Werte rein, die bei seinen Ergebnissen in Spalte 2 stehen. Also in etwa so:

Durchlauf mit m = 0:

array_[2][0] = "Mama";
array_[3][0] = 50;

Durchlauf mit m = 1:

array_[2][1] = "Papa";
array_[3][1] = 55;
OffTopic:

oh ja bin noch net ganz da ich glaub ich enthalt mich jetzt ersmal bis die kaffeetasse leer ist
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #11 (permalink)  
Alt 02-07-2007, 10:25
Donbuffi
 Newbie
Links : Onlinestatus : Donbuffi ist offline
Registriert seit: Jan 2007
Beiträge: 8
Donbuffi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Spoocky dann setz mal vor dein session_start() überall ein error_reporting(E_ALL) und zeig uns die Fehlermeldungen. Wenn du beim Einsortieren deines Arrays und beim Prüfen auf der nächsten Seite keinen Fehler machst, wird es an der Session liegen, und dafür braucht man die Fehlermeldungen.
Mit Zitat antworten
  #12 (permalink)  
Alt 02-07-2007, 10:38
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hie sind die Fehlermeldungen:

Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\readtests.php on line 176

Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\readtests.php on line 177

Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\readtests.php on line 183

und die Zeilen 176-184 dazu:
$_SESSION['array_'] = $array_;
if (is_array($array_) == true) {
echo 'Es ist ein Array!';
}
printf('<a href="test.php?%s">und hier geht es weiter</a>','');
print_r($_SESSION['array_']);

if ($_SESSION['array_'] == $array_ ){
echo 'Das Array ist in Ordnung!';
}
?>


und in dem anderen Skript:

Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\test.php on line 14

Zeile 14-16:
if (is_array($array_) == true) {
echo 'Es ist ein Array!';
}
Mit Zitat antworten
  #13 (permalink)  
Alt 02-07-2007, 10:49
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

sagtest du nicht du hättest das array geprüft?
so wie das ausschaut scheint deine datenbankabfrage net zu funzen
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #14 (permalink)  
Alt 02-07-2007, 11:04
Donbuffi
 Newbie
Links : Onlinestatus : Donbuffi ist offline
Registriert seit: Jan 2007
Beiträge: 8
Donbuffi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

In der ersten Seite:

Zitat:
Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\readtests.php on line 176
In deinem Code wird in dieser Zeile der array in die Session kopiert. Das geht aber nicht, da offenbar vorher kein array gesetzt wurde. Das sollte aber in deiner while { } geschehen, und deswegen schließe ich mich der ranzigen Milch an.

In der zweiten Seite:

Zitat:
Notice: Undefined variable: array_ in C:\Programme\xampp\htdocs\bevat\test.php on line 14
Diese Fehlermeldung kommt in einer Zeile, wo du $array_ schon aus der Session hättest zurückkopieren müssen. Hast du aber nicht, denn sonst hättest du eine ähnlich Fehlermeldung schon beim kopieren bekommen.

$array_ = $_SESSION['array_']

scheint zu fehlen.

Edit: Müll rausgenommen und Tippfehler korrigiert

Geändert von Donbuffi (02-07-2007 um 11:14 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 02-07-2007, 13:30
spoocky
 Newbie
Links : Onlinestatus : spoocky ist offline
Registriert seit: Jun 2007
Beiträge: 11
spoocky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das array in der ersten Seite ist auch ein array, das ist ja überprüft!


Der Ausdruck:
$array_ = $_SESSION['array_']
fehlt NICHT in der zweiten Seite!

und in der while-scheife wird das array ja auch richtig angelegt.

Warum dort jetzt die Fehlermeldungen kommen, kann ich nicht nachvollziehen. Allein deswegen schon nicht, weil ich in der ersten Seite das array mir anzeigen lasse...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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