php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mittelschwerer Anfall bei Übergabe von Array an anderes PHP Script


 
Aurelius
30-07-2003, 23:58 
 
Ok, ich hab versucht das in diesem Thread geschriebene zu verwerten

http://www.php-resource.de/forum/showthread.php?s=&threadid=13948

Toll, schade, dass das nicht funktioniert.

Ich hock jetzt schon seit 3 Tagen an dem Problem. Checkboxen hab ich ja langsam schon hinbekommen.

Ein auszug aus dem script:

while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC))
{


echo"<tr bgcolor=\"#". stripslashes($zeileholen["farbe"])."\">".
"<td>". stripslashes($zeileholen["kennung"])."</td>".
"<td>". stripslashes($zeileholen["bereich"])."</td>".
"<td>". stripslashes($zeileholen["markt"])."</td>".
"<td>". $zeileholen["lastcontact"]."</td>".
"<td>". stripslashes($zeileholen["komentar"])."</td>".
"<td>". stripslashes( nl2br( htmlentities($zeileholen["aktionen"])))."</td>".
"<td>". stripslashes($zeileholen["bw"])."</td>".
"<td>". $zeileholen["strasse"]."</td>".
"<td>". $zeileholen["plz"]."</td>".
"<td>". $zeileholen["ort"]."</td>".
"<td>". $zeileholen["ansprech"]."</td>".
"<td>". $zeileholen["tel"]."</td>".
"<td>". $zeileholen["fax"]."</td>".
"<td>". $zeileholen["preisprotag"]."</td>".
//die checkbox, für die der ganze aufstand veranstaltet wird
"<td><input type=\"checkbox\" name=\"checkid[".$zeileholen["id"]."]\" value=\"1\"></td>".
"</tr>";


}
echo "<tr><td>";
//wieso funktioniert das hier nicht?
echo"</td><td<a href=\"promo.php?aktion=druck&array=" . serialize($checkid) . "\">druckansicht</a></td>";
echo"<td><a href=\"promo.php?aktion=mail\">als eMail versenden</a></td><td>";
echo"</td></tr>";
echo"</table>";

Dier Link, der zur Druckansicht führen soll schaut generiert dann so aus:

http://www.seite.de/promo.php?aktion=druck&array=N;

was macht denn das "array=N;" da im Link?

auf der seite zu der der link führt:
$array = unserialize($_GET['checkid']);
und dann halt das, was mit dem array passieren wird. nur da kommt anscheinend erst garnichts an.

wär ganz nett wenn mir da wer helfen könnte und mir sagen könnte was ich ändern muss.

 
TobiaZ
31-07-2003, 00:01 
 
ich kann irgendwie nicht so ganz glauben, dass aus

?array=...

?aktion=druck&array=...

wird.

und was soll das hier:
$array = unserialize($_GET['checkid']);

 
Aurelius
31-07-2003, 00:16 
 
ups, hab beim posten noch im script rumgefummelt ums vielleicht doch zum laufen zu bringen, hhab aktualisiert ;)

$array = unserialize($_GET['checkid']);
hab ich aus dem oben angegebenen Thread mitgenommen.
schaut so aus, als ob der array, der auf der ersten seite mit serialize() bearbeitet wurde nun mit unseralize() wieder auseinanderenommen wird und in die variable array geschoben wird.

wenn ich ahnung davon hätte würde mein script ja laufen und ich müsste nicht fragen. aber dem ist ja leider nicht so :(

 
TobiaZ
31-07-2003, 00:19 
 
eine var, die du mit array übergibst, kannst du aber schlecht mit checkid wieder auslesen, stimmts? Überprüf das mal, vielleicht wars das schon.

 
Aurelius
31-07-2003, 00:32 
 
urgs, ist schon spät. aber irgendwie will ich das Teil jetzt so kurz vorm Ziel nicht aufhören :)

Das ganze schaut jetzt so aus:

while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC))
{


echo"<tr bgcolor=\"#". stripslashes($zeileholen["farbe"])."\">".
"<td>". stripslashes($zeileholen["kennung"])."</td>".
"<td>". stripslashes($zeileholen["bereich"])."</td>".
"<td>". stripslashes($zeileholen["markt"])."</td>".
"<td>". $zeileholen["lastcontact"]."</td>".
"<td>". stripslashes($zeileholen["komentar"])."</td>".
"<td>". stripslashes( nl2br( htmlentities($zeileholen["aktionen"])))."</td>".
"<td>". stripslashes($zeileholen["bw"])."</td>".
"<td>". $zeileholen["strasse"]."</td>".
"<td>". $zeileholen["plz"]."</td>".
"<td>". $zeileholen["ort"]."</td>".
"<td>". $zeileholen["ansprech"]."</td>".
"<td>". $zeileholen["tel"]."</td>".
"<td>". $zeileholen["fax"]."</td>".
"<td>". $zeileholen["preisprotag"]."</td>".
//die checkbox
"<td><input type=\"checkbox\" name=\"checkid[".$zeileholen["id"]."]\" value=\"1\"></td>".
"</tr>";


}
echo "<tr><td>";
//der link zur zweiten seite
echo"</td><td><a href=\"promo.php?aktion=druck&array=" . serialize($checkid) . "\">Druckvorschau</a></td>";
echo"<td><a href=\"promo.php?aktion=mail\">als eMail versenden</a></td><td>";
echo"</td></tr>";
echo"</table>";



auf der zweiten seite:

if ($aktion == "druck")
$checkid = unserialize($_GET['array']);

if(is_array($checkid))
{
foreach($checkid as $current)
{
echo $current."<br>";
}
}
else
{
echo $checkid."<br>";
}

wenn ich die variablen so verfolge ist da rein von der namensvergabe kein fehler mehr drin

 
TobiaZ
31-07-2003, 00:36 
 
wo ist jetzt dass problem? fehler?

wenn du $_GET benutzt, dann auch bitte $_POST

wie sieht die url für den link aus?

überprüf doch mal, was da ankommt.

 
Aurelius
31-07-2003, 00:50 
 
http://www.seite.de/promo.php?aktion=druck&array=N;

das ist der link.

mit dem script auf der zweiten seite wollte ich ja eigentlich den inhalt des arrays kontrollieren. aber wenn das mit $_GET drin net funktioniert muss ich mir wohl was anderes ausdenken. :(
if ($aktion == "druck")
$checkid = unserialize($_GET['array']);

if(is_array($checkid))
{
foreach($checkid as $current)
{
echo $current."<br>";
}
}
else
{
echo $checkid."<br>";

 
TobiaZ
31-07-2003, 00:55 
 
gegen get hat ja keiner was gesagt.

prüf jetzt erstmal, welchen wert $checkid auf der ersten seite hat. (da wo der link erstellt wrd.

 
Aurelius
31-07-2003, 01:14 
 
mhh, ich schätze mal, da der link im gleichen atemzug mit der tabelle generiert wird ist der generierte array wohl leer.

mhh, wenn das so weiter geht schreib ich meine ausgabetabelle in ein formular um. das scheint irgendwie einfacher zu sein :(

 
TobiaZ
31-07-2003, 12:27 
 
da hast du doch den fehler schon.

wenn das array vorher leer ist, ist es das auch nachher.


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