php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.07.2010, 16:33  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von ePole Beitrag anzeigen
ich übergebe ein Array in der URL wie folgt:

PHP-Code:
xyz.php?array="; $var= htmlentities(serialize($array)); echo $var; 
Das ist Unfug.

Zunächst mal willst du die Daten in den Kontext URL bringen, also ist urlencode darauf anzuwenden.

Im nächsten Schritt willst du diese Adresse in den Kontext HTML bringen (bei der Ausgabe als Link), also wäre da theoretisch dann anschließend htmlspecialchars angesagt; da urlencode aber keine Zeichen „übrig lässt“, die in HTML eine Sonderbedeutung haben, kann dieser Schritt entfallen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.07.2010, 16:41  
Erfahrener Benutzer
 
Benutzerbild von ePole
 
Registriert seit: 12.08.2009
Beiträge: 352
PHP-Kenntnisse:
Anfänger
ePole ist in Verruf geratenePole ist in Verruf geraten
Standard

Habe es angewandt und bekomme eine Fehlermeldung:

urlencode() expects parameter 1 to be string, array given
ePole ist offline  
Alt 21.07.2010, 16:43  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Du weißt, dass ein unserialize() auf unvalidierte Benutzereingaben mitunter sehr gefährlich sein kann, oder? Das, was du da oben machst, ist aber ein PHP-Ausdruck, den man nur per eval() parsen kann und das ist noch gefährlicher.
Und noch einmal: warum benutzt du dafür keine Sessions?

Beitrag editiert:
[…] Die Fehlermeldung sollte ja wohl eindeutig sein.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 21.07.2010, 16:46  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von ePole Beitrag anzeigen
Habe es angewandt und bekomme eine Fehlermeldung:

urlencode() expects parameter 1 to be string, array given
D'oh!

Auf das bereits serialisierte Array ist die Funktion natürlich anzuwenden.

Könnte man vielleicht auch selber drauf kommen, wenn man ein bisschen mitdenkt.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 21.07.2010, 16:47  
Erfahrener Benutzer
 
Benutzerbild von ePole
 
Registriert seit: 12.08.2009
Beiträge: 352
PHP-Kenntnisse:
Anfänger
ePole ist in Verruf geratenePole ist in Verruf geraten
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Du weißt, dass ein unserialize() auf unvalidierte Benutzereingaben mitunter sehr gefährlich sein kann, oder? Das, was du da oben machst, ist aber ein PHP-Ausdruck, den man nur per eval() parsen kann und das ist noch gefährlicher.
Und noch einmal: warum benutzt du dafür keine Sessions?

Beitrag editiert:
[…] Die Fehlermeldung sollte ja wohl eindeutig sein.
guter einwand, aber ich benutze deshalb keine session, weil sich der link den ich dort generiere aus einer schleife kommt. es kann also sein das mehrere sessions geschrieben werden müssen, und da weiss ich erst recht nicht ob das überhaupt geht.
ePole ist offline  
Alt 21.07.2010, 16:51  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

Du kannst auch Arrays in der Session ablegen...

PHP-Code:
$links = array();
$links[] = "http://www.google.de";
$links[] = "http://www.php.de";

$_SESSION['links'] = $links;

print_r($_SESSION); 
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 21.07.2010, 16:53  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Arrays in Sessions werden beim Beenden automatisch serialisiert und beim Start automatisch wieder deserialisiert, aber die Daten bleiben dabei auf dem Server, nämlich in der Session.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 21.07.2010, 16:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von ePole Beitrag anzeigen
aber ich benutze deshalb keine session, weil sich der link den ich dort generiere aus einer schleife kommt.
Das ist kein Argument.

Zitat:
es kann also sein das mehrere sessions geschrieben werden müssen
Du kannst auch in einer Session deine Daten vernünftig strukturiert ablegen - bspw. als Array.
Und dann bräuchtest du im jeweiligen Link nur noch einen Parameter übergeben, der sagt, auf welches Element dieses Arrays zugegriffen werden soll.


Wenn du erst mal dein eigentliches Problem beschreiben würdest - dann könnte man dir auch (von Anfang an) Tipps geben, wie man das vernünftig umsetzt.
Aber leider machen Anfänger das fast nie, sondern fragen immer nur nach dem konkreten Teilproblemchen, welches sich bei der Umsetzung ihres schon verkorksten Ansatzes ergibt ...
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 21.07.2010, 17:09  
Erfahrener Benutzer
 
Benutzerbild von ePole
 
Registriert seit: 12.08.2009
Beiträge: 352
PHP-Kenntnisse:
Anfänger
ePole ist in Verruf geratenePole ist in Verruf geraten
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Das ist kein Argument.


Du kannst auch in einer Session deine Daten vernünftig strukturiert ablegen - bspw. als Array.
Und dann bräuchtest du im jeweiligen Link nur noch einen Parameter übergeben, der sagt, auf welches Element dieses Arrays zugegriffen werden soll.
Das hört sich nach dem an was ich suche...bitte ein Beispiel.


Zitat:
Zitat von ChrisB Beitrag anzeigen
Wenn du erst mal dein eigentliches Problem beschreiben würdest - dann könnte man dir auch (von Anfang an) Tipps geben, wie man das vernünftig umsetzt.
Aber leider machen Anfänger das fast nie, sondern fragen immer nur nach dem konkreten Teilproblemchen, welches sich bei der Umsetzung ihres schon verkorksten Ansatzes ergibt ...
Deshalb sind es ja auch Anfänger...Tschuldigung.
ePole ist offline  
Alt 21.07.2010, 17:10  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

lstegelitz hat dir bereits ein Beispiel gegeben.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
 


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
Brauche hilfe bei eine Funktion TrueEdge PHP Tipps 2010 4 27.04.2010 12:18
Übergabe eines Arrays, serialize Mitch26 PHP Tipps 2009 24 07.07.2009 13:11
serialize notyyy PHP Tipps 2008 6 08.12.2007 19:25
Hilfe: Projektabreit Informatik und Technik bitte helft uns. Off-Topic Diskussionen 31 05.04.2006 18:25
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
brauche sehr schnell und dringend hilfe Beitragsarchiv 13 24.10.2005 13:11
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
serialize / unserialize mAy^daY PHP Tipps 2005-2 2 11.08.2005 01:05
[Erledigt] Probleme mit Linkverfolgung !!! HILFE !!! PHP-Fortgeschrittene 5 20.07.2005 18:24
wiedermal n neuling der hilfe braucht !!! Thema: include PHP Tipps 2005-2 7 18.07.2005 09:57
[Erledigt] VARIABLEN WERDEN NICHT RICHTIG VERARBEITET!!!! HILFE PHP Tipps 2005-2 6 02.07.2005 18:32
serialize() und unserialize() PHP Tipps 2005-2 11 22.06.2005 13:20
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
PHP, Frontpage -----> HILFE!!!! HTML, Usability und Barrierefreiheit 4 30.11.2004 15:00
Immer noch Probleme mit serialize und unserialize PHP-Fortgeschrittene 13 15.08.2004 13:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session serialize und unserialize, unserialize() expects parameter 1 to be string hilfe, php unserialize sonderzeichen, urldecode() expects parameter 1 to be string, array given in, php serialize länge mit &-zeichen, php serialize array, php serialize(array von 2, http://www.php.de/php-einsteiger/69919-erledigt-bitte-um-hilfe-bei-serialize-unserialize-2.html

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:25 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