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. |
 |

16-10-2002, 19:11
|
Op@ U.
Junior Member
|
|
Registriert seit: Aug 2002
Ort: Good old Germany
Beiträge: 155
|
|
Array als Parameter in der URL
Hallöchen!
Ich stehe mal wieder etwas auf dem Schlauch.
Ich möchte ein Array von einem Script in ein anderes Übergeben.
Sehe nur die möglichkeit es per Parameter mit
PHP-Code:
dateiname.php?array=$array
zumachen, aber das funzt leider nicht.
Gibts noch ne andere Alternative, auf möglichs einfache Weise ein Array zu übergeben?!?
Thx for possible help ...
|

16-10-2002, 20:15
|
goth
 Moderator
|
|
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.278
|
|
Sicher gibt's 'nen einfacheren Weg aber:
PHP-Code:
$params="";
foreach ( $array AS $value ) {
$params.=($params==""?"":"&")."array[]=".urlencode($value);
}
$url="dateiname.php".($params==""?"":"?").$params;
sollte funzen ...
__________________
carpe noctem
Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
|

16-10-2002, 20:55
|
Op@ U.
Junior Member
|
|
Registriert seit: Aug 2002
Ort: Good old Germany
Beiträge: 155
|
|
Thx für deinen Tip, aber die Möglichkeit kenne ich auch.
Wollte aber nicht ne ganze "Latte" an Variablen über die URL verschicken.
Dachte es gibt vielleicht auch noch ne "elegantere" Lösung?
|

16-10-2002, 21:59
|
goth
 Moderator
|
|
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.278
|
|
Wenn's auf dem gleichen Server liegt ... 'ne Session ...
__________________
carpe noctem
Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
|

16-10-2002, 22:30
|
BlobBanana
Member
|
|
Registriert seit: Aug 2002
Beiträge: 462
|
|
kann man da nicht was mit serialize() machen ... weiss aber nicht genau ...
|

16-10-2002, 23:02
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
@ BlobBanana:
OT: Hast wohl gefallen an dem serialize() gefunden, kann das sein?
|

16-10-2002, 23:43
|
BlobBanana
Member
|
|
Registriert seit: Aug 2002
Beiträge: 462
|
|
Zitat:
Original geschrieben von TobiaZ
@ BlobBanana:
OT: Hast wohl gefallen an dem serialize() gefunden, kann das sein?
|
Habs ehrlich gesagt noch nie benutzt ... deswegen schreib ich hier ja auch nicht "ich bin mir sicher das es mit serialize() geht" sondern schaue mir die php-manual an und werfe einen zusaetzlichen Faktor in die Diskussion ein. Ob das nun bei der Loesung des Problems hilft sei mal dahingestellt
http://www.php.net/manual/de/function.serialize.php
und dort die "User Contributed Notes" anschauen
Geändert von BlobBanana (16-10-2002 um 23:45 Uhr)
|

16-10-2002, 23:47
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Werds mir mal ansehen, bei gelegenheit. Vielleicht kann man das ja wirklich mal irgendwann gebrauchen
|

17-10-2002, 00:03
|
BlobBanana
Member
|
|
Registriert seit: Aug 2002
Beiträge: 462
|
|
So habs nun mal ausprobiert (und endlich mal serialize() benutzt  ):
serialize.php
PHP-Code:
<?php
$var=array("a","b","c");
$var=serialize($var);
$var=urlencode($var);
echo "<a href=\"ser2.php?var=$var\">weiter</a>";
?>
ser2.php
PHP-Code:
<?php
$var= $_GET["var"];
$var=stripslashes($var); //no need to urldecode...rather strip the slashes
$var=unserialize($var);
foreach($var as $elem) {
echo "$elem <br>";
}
?>
Man hat hier jedoch das gleiche wie bei goths loesung ... die url wird ganz schoen lang ...
Wenn man das array ueber POST uebergibt kann man sich das aber ersparen:
serialize.php
PHP-Code:
<?php
echo "<form action=ser2.php method=post>";
$var=array("a","b","c");
$var=serialize($var);
//$var=urlencode($var);
echo "<input type=hidden name=var value=$var>";
echo "<input type=submit value=\"SEND\">";
echo "</form>";
?>
ser2.php
PHP-Code:
<?php
$var= $_POST["var"];
$var=unserialize($var);
foreach($var as $elem) {
echo "$elem <br>";
}
?>
|

17-10-2002, 00:12
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Das sieht schon sehr schön aus. Ich glaub das könnte spass machen, wenn mans denn braucht.
Muss man halt abwägen, was schöner ist.
a) ein schäbbiger Quelltext -> Für jeden Link ein ganzes Formular
oder
b) oder eine Unschöne Url -> Ellenlang
|

17-10-2002, 00:32
|
BlobBanana
Member
|
|
Registriert seit: Aug 2002
Beiträge: 462
|
|
Jo ich musste bisher auch noch kein Array "transportieren" ... aber nu weiss ich wenigstens wie es geht ...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|