02. december 2003 - 22:02
Der er
11 kommentarer og 1 løsning
hjælp til lave noget smart
jeg har et site hvor det er muligt at uploade 4 billeder. De 4 billeder tjekkes for hver 3 ting, det er filtype, KB størrelse og pixel størrelse. som det er nu, fanger jeg fejlene sådan: switch ($i) { case 0: $fejl9 = "yes"; break; case 1: $fejl10 = "yes"; break; case 2: $fejl11 = "yes"; break; case 3: $fejl12 = "yes"; break; } header ("Location:side1.php?fejl1=$fejl1&fejl2=$fejl2&fejl3=$fejl3&fejl4=$fejl4&fejl5=$fejl5&fejl6=$fejl6&fejl7=$fejl7&fejl8=$fejl8&fejl9=$fejl9&fejl10=$fejl10&fejl11=$fejl11&fejl12=$fejl12"); dette er ikke helekoden men jeg håber i forstår hvad jeg mener. På side 1 skriver jeg så fejlen ud for hvert billede til brugeren. Jeg søger et eksempel til at lave dette lidt smartere. Mekaniker
Annonceindlæg fra Admin By Request
02. december 2003 - 22:28
#1
Eksempel: $errorarray = array( 1 => array('filetype' => true, 'filesize' => false, 'pixelsize' => false), 2 => array('filetype' => false, 'filesize' => false, 'pixelsize' => true), 3 => array('filetype' => false, 'filesize' => true, 'pixelsize' => false), 4 => array('filetype' => true, 'filesize' => true, 'pixelsize' => true) ); header("Location: side1.php?errorstuff=" . urlencode(serialize($errorarray))); side1.php: $errorarray = unserialize(urldecode($_GET['errorstuff'])); echo '<pre>'; print_r($errorarray); echo '</pre>';
02. december 2003 - 22:34
#2
Også til side1.php: foreach($errorarray as $key => $errorcodes) { echo "Billede nr. $key<br>"; foreach($errorcodes as $key => $val) { if ($val) { echo "$key: yes<br>"; } else { echo "$key: no<br>"; } } }
02. december 2003 - 23:05
#3
jeg kan måske godt se ide'en i det, men hvordan henviser jeg til hvert array. altså hvis billede 1 er forkert filtype, så skal jeg jo filetype = false i det første array, hvordan gør jeg lige det.
02. december 2003 - 23:46
#4
Du sætter værdien for filetype, billede 1 sådan her: $errorarray[1]['filetype'] = false; Ovenstående system vil være langt mere fleksibelt og også fungere, hvis du beslutter at ændre antal billeder osv.
03. december 2003 - 08:08
#5
Hvilken en skal jeg bruge til side 1: denne: $errorarray = unserialize(urldecode($_GET['errorstuff'])); echo '<pre>'; print_r($errorarray); echo '</pre>'; eller denne: foreach($errorarray as $key => $errorcodes) { echo "Billede nr. $key<br>"; foreach($errorcodes as $key => $val) { if ($val) { echo "$key: yes<br>"; } else { echo "$key: no<br>"; } } }
03. december 2003 - 08:21
#6
jeg får denne fejl på side 1 Notice: unserialize(): Error at offset 14 of 302 bytes in G:\Websites\php\cms_error\admin\Side1\side1.php on line 540
03. december 2003 - 12:05
#7
Jeg har fået selve array delen til at virke, men den fejler når den skal sende arrayet med i URL'en jeg får en fejl i denne linie: (på side1.php) $errorarray = unserialize(urldecode($_GET['errorstuff'])); jeg ved selvfølgelig ikke om det er modtagelsen eller afsendelsen den er gal med.
03. december 2003 - 12:42
#8
Jeg har klaret den med følgende linie: $errorarray = unserialize(urldecode(stripslashes($_GET['errorstuff']))); Tak for hjælpen, sdim er svar så du kan få nogle point.
03. december 2003 - 12:56
#9
Årsagen til at stripslashes er nødvendig er nok fordi serveren er sat op til automatisk at bruge addslashes på indhold fra GET, POST, COOKIES og SESSIONS! Godt det fungerer :-)
03. december 2003 - 13:59
#10
Hvis jeg nu vil have denne: $errorarray = unserialize(urldecode($_GET['errorstuff'])); foreach($errorarray as $key => $errorcodes) { echo "Billede nr. $key<br>"; foreach($errorcodes as $key => $val) { if ($val) { echo "$key: yes<br>"; } else { echo "$key: no<br>"; } } } til at ligge i en fil for sig selv, også lave en include på de sider hvor jeg skal vise fejlen. Skulle der være nogle problemer idet. Jeg kan nemlig ikke få det til at virke.
03. december 2003 - 16:27
#11
Du skal selvfølgelig have pakket koden ind <?php ?> tags - men det er standard ved brug af include! Derudover burde der ikke være nogle problemer. Det kan dog være en fordel med følgende: <?php if (isset($_GET['errorstuff'])) { $errorarray = unserialize(urldecode($_GET['errorstuff'])); foreach($errorarray as $key => $errorcodes) { echo "Billede nr. $key<br>"; foreach($errorcodes as $key => $val) { if ($val) { echo "$key: yes<br>"; } else { echo "$key: no<br>"; } } } } ?>
04. december 2003 - 20:01
#12
Jeg har fået det lavet. Det er blevet supper lækkert. Tak for hjælpen.
Vi tilbyder markedets bedste kurser inden for webudvikling