/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
serialize og unserialize et array?
Fra : Lars


Dato : 17-09-01 20:20

Hej alle!

Jeg har et problem med at få unserialized et array rigtigt, det drejer sig
om array'et $opretprodukt i nedenstående fil1. Jeg indsætter det serializede
array i en blob i en mysqldatabase, men når jeg skal hente den fra fil2, så
vil den ikke rigtig indsætte det i tabellen "produkter" i databasen? er det
fordi jeg ikke får serialized/unserialized ordentligt?
Jeg har 3 tabeller, som jeg bruger i nedenstående, det er tabellerne
"billeder" (id, billednavn) og "produkter" (navn, beskrivelse, pris, gender,
producentid, billedid) og "sessions" (id, sessionvars).
Det er så i sessionsvars jeg skriver det serializede array til et BLOB
felt...
fil1 uploader bl.a. et billede til serveren m.m., men det er sådan set kun
det array, som jeg skriver til tabellen "sessions" jeg har problemer med i
fil2... (jeg har husket session_start() i begge filer)...
Jeg er gået væk fra addslashes() og stripslashes(), da jeg læste et sted, at
det var bedre med rawurlencode og decode ...

Nogen, som kan hjælpe og har det overblik jeg mangler?

på forhånd tak

lars

fil1:
--------------------------------------------------
switch($form) {
case "opretprodukt":
global $pnavn, $pbeskrivelse, $ppris, $pmodel, $prid, $billedfil;

session_register($brugerid);
$brugerid = md5(time());

opret_forbindelse();
if ($billedfil_size < 200000 && $billedfil_type == "image/pjpeg") {

if (copy($billedfil, $DOCUMENT_ROOT . "/birn/billeder/" . $billedfil_name))
{

$opret_produkt_db1 = "INSERT INTO billeder (billednavn) values
('$billedfil_name')";
sql_query($opret_produkt_db1);
$billedid_til_produkter = mysql_insert_id();}
else {print ("Fejl under upload");}
}
else {print ("Filtype og størrelse skal være korrekt");}

$opretprodukt = array($pnavn, $pbeskrivelse, $ppris, $pmodel, $prid,
$billedid_til_produkter);
$opretprodukt = rawurlencode(serialize($opretprodukt));
/* addslashes($opretprodukt); */

$opret_produkt_db2 = "INSERT INTO sessions (id, sessionvars) values
('$brugerid', '$opretprodukt')";
sql_query($opret_produkt_db2);
luk_forbindelse();

print ("<a href='fil2.php?formdatabase=opretprodukt'>næste</a>");

break;

-------------------------------------------


fil2:
-------------------------------------------
switch($formdatabase) {
case "opretprodukt":

$login = "root";
$pass = "";
$db = mysql_connect("localhost", $login, $pass);
mysql_select_db("birn", $db);

$sessionvars = "SELECT sessionvars FROM sessions WHERE". $brugerid ." = id";
$resultat = MySQL_query($sessionvars, $db);
/* stripslashes($resultat); */

$opretprodukt = unserialize(rawurldecode($resultat));

/*reset($opretprodukt);*/
$opret_produkt_db3 = "INSERT INTO produkter (navn, beskrivelse, pris,
gender, producentid, billedid) values ('$opretprodukt[0]',
'$opretprodukt[1]', '$opretprodukt[2]', '$opretprodukt[3]',
'$opretprodukt[4]' , '$opretprodukt[5]')";
sql_query($opret_produkt_db3);

/* indsæt skabelon her og udskriv, at nu er der blevet skrevet til
databasen*/

break;



 
 
Lars (17-09-2001)
Kommentar
Fra : Lars


Dato : 17-09-01 22:12

nu har jeg prøvet at køre en var_dump() på $opretprodukt og $brugerid i
fil2, den siger at variablen $opretprodukt er bool(false)og $brugerid er
NULL, hvilket forvirre mig en hel del!

/lars



Niels Andersen (18-09-2001)
Kommentar
Fra : Niels Andersen


Dato : 18-09-01 12:45

"Lars" <ledj@Zprivat.dk> wrote in message news:9o5iar$b9v$1@sunsite.dk...
Diskussionen kører nu også her:

http://www.eksperten.dk/spm/110669

--
Mvh.

Niels Andersen



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste