30. januar 2006 - 00:04
Der er
26 kommentarer og 1 løsning
Session Problem.
Hej eksperter. har gloet mig blind på dette problem nu... sidder med en opdelt bruger tilmeldingt, hvor det blider smidt i en sesion med følgende kode: foreach ($_POST as $key => $value) { $_SESSION[$key] = $value; } ---- I sidste ende, skal jeg så have det trukket ud og smidt i en database... har forsøgt mig med : <?php session_start(); foreach ($_SESSION as $key => $value) { $_POST[$key] = $value; } echo $_POST['udfyldtFornavn']; ?> ---------- Hvilket også virker fint nok... MEN hvordan får jeg det nemmest smidt i databasen, uden at skulle køre alle tingene igennem?? Ved godt at det nok er nemt, men har siddet og kodet siden klokken 08 i morges... - BlackScorpion.
Annonceindlæg fra Cognizant
30. januar 2006 - 00:08
#1
hov.. kan se jeg ikke fik ændret titelen.. må i undskylde. :(
30. januar 2006 - 00:18
#2
hvorfor ikke smide en insert ind i dit foreach loop?
30. januar 2006 - 00:19
#3
fordi jeg har set mig blind på det... er totalt blank... havde en dead line til i aften klokken 23:00 ... er rendt næsten 1½ time over, har fyret 100K tegn af på omkring 4-5 timer bare her til aften.. er stresset og træt... så kan slet ikke tænke. :(
30. januar 2006 - 00:21
#4
og problemet med en insert i foreach'en er at jeg skal skrive hvert enkelt... øhhh... nu røg jeg ud af den.. igen...
30. januar 2006 - 00:24
#5
altså noget ala: $sql = "update min tabel set"; foreach ($_SESSION as $key => $value) { $sql =. "$_POST[$key] = $value,"; } mysql_query($sql); ??????
30. januar 2006 - 00:24
#6
sorry.. misforstod.. men, du kan da samle sammen... $sql_key=""; $sql_val=""; foreach ($_SESSION as $key => $value) { $_POST[$key] = $value; $sql_key.=$key.','; $sql_val .="'$value',"; } $sql_val=substr($sql_val,0,strlen($sql_val -1)); $sql_key=substr($sql_key,0,strlen($sql_key -1)); mysql_query("Insert into tbl($sql_key) values($sql_key)");
30. januar 2006 - 00:26
#7
hvad skal du med $_POST?
30. januar 2006 - 00:26
#8
smider den så ALT i databasen.. lad os sige der er 20 felter, så ryger alle 20 felter ind ?
30. januar 2006 - 00:29
#9
Hvis jeg har forstået dit behov rigtig, så ja.. den vil lave en mysql_query("Insert into tbl(key1,key2,key3,key4) values('value1','value2','value3','value4')");
30. januar 2006 - 00:29
#10
kan se felterne ikke hedder det samme som i databasen... god damnit... :( kan se jeg har en array med alle mysql felterne som jeg skal bruge.. men spørgsmålet er så bare om felterne fra formen lægger i rigtig rækkefølge...
30. januar 2006 - 00:30
#11
$sql_val=substr($sql_val,0,strlen($sql_val -1)); $sql_key=substr($sql_key,0,strlen($sql_key -1)); De her 2 sørger for at fjerne det sidste komma der bliver genereret i foreach løkken.. men, hvad skal du bruge den $_POST til? så vidt jeg kan se er det da de samme værdier du har smidt i en session i starten af scriptet
30. januar 2006 - 00:31
#12
og der er også ændret felter... :( må kigge på det i morgen.. damn.. så må jeg lave en array så det hele passer. hvordan sammenligner jeg array'et med sessionen ?
30. januar 2006 - 00:32
#13
som sagt så mig blind.. og fandt mit tidligere spørgsmål om hvordan jeg opretter det i første omgang.. og der snakkede ham der hjalp mig og jeg om bare at vende processen.. så hvis der er noget der ikke skal være der, så fjern det endeligt. :)
30. januar 2006 - 00:33
#14
i forhold til ikke at have samme keys som i databasen. så må du lave et array hvor du har session keys og tabel keys NY KODE::: $arr_keys=array('session_key1'=>'tabel_key1','session_key2'=>'tabel_key2'); $sql_key=""; $sql_val=""; foreach ($_SESSION as $key => $value) { $_POST[$key] = $value; $sql_key.=$arr_keys[$key].','; $sql_val .="'$value',"; } $sql_val=substr($sql_val,0,strlen($sql_val -1)); $sql_key=substr($sql_key,0,strlen($sql_key -1)); mysql_query("Insert into tbl($sql_key) values($sql_key)");
30. januar 2006 - 00:35
#15
"hvordan sammenligner jeg array'et med sessionen ?" ved at lave et array der har session_key som key og tabel_key som value $arr_keys=array('session_key1'=>'tabel_key1','session_key2'=>'tabel_key2'); $sql_key=""; $sql_val=""; foreach ($_SESSION as $key => $value) { //Fjernet din POST $sql_key.=$arr_keys[$key].','; $sql_val .="'$value',"; } $sql_val=substr($sql_val,0,strlen($sql_val -1)); $sql_key=substr($sql_key,0,strlen($sql_key -1)); mysql_query("Insert into tbl($sql_key) values($sql_key)");
30. januar 2006 - 00:37
#16
okey for lige at være på den sikre side: i min session har jeg følgende felter: MitForNavn, MitEfterNavn, MinAdresse i databasen har jeg følgende felter: name, lastname, adress det bliver så til $arr_keys=array('MitForNavn'=>'name', 'MitEfterNavn'=>'lastname','MinAdresse','adress'); og så skulle det virke ?
30. januar 2006 - 00:37
#17
hov det , mellem MinAdresse og adress skal selvfølgelig være en => ...
30. januar 2006 - 00:42
#18
nøjagtigt :)
30. januar 2006 - 00:42
#19
okey cool, tak for hjælpen, smid lige et svar, så jeg kan daffe i seng. ;)
30. januar 2006 - 00:43
#20
så bliver din $sql_key.=$arr_keys[$key].','; til: $sql_key.=$arr_keys['MitForNavn'].','; som igen bliver til $sql_key .='name,'; så den skulle være i vinkel :)
30. januar 2006 - 00:44
#21
hopla god dafning
30. januar 2006 - 00:45
#22
argh!! ikke gøre mig forvirret nu... det er nok at det virker... alt hvad jeg har brug for til i morgen... som det er nu hvor jeg ændrer det som jeg skrev før, så skal der INTET gøre vel ?
30. januar 2006 - 00:46
#23
nej, der skal ikke gøres mere :) jeg demonstrerede bare hvad der ville ske :) koden fra min kommentar 30/01-2006 00:35:03 er ikke ændret :)
30. januar 2006 - 00:46
#24
forresten ang. den her: $arr_keys=array('MitForNavn'=>'name', 'MitEfterNavn'=>'lastname','MinAdresse','adress'); hvis nu felter kommer ind som her: MinAdresse, MitEfterNavn, MitNavn ... spiller det nogen rolle i de står i anden række følge i array'et ?
30. januar 2006 - 00:49
#25
nej overhovedet ikke. det er ligegyldig hvilken rækkefølge de er i.
30. januar 2006 - 00:50
#26
okey cool, tak for hjælpen, og sov godt når du når så langt. :D
30. januar 2006 - 00:50
#27
mange tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling