Avatar billede scaniav8 Nybegynder
07. august 2006 - 19:00 Der er 12 kommentarer og
1 løsning

Læse javascript arrays i PHP

Hejsa...


Jeg har et array kaldt obj i javascript, hvordan kan jeg få det læse over i en PHP kommando?
Havde tænkt på noget lidt lign. det her HVIS! det self. er muligt, ellers hvordan?

<?php
print obj;

?>

Det der er self ikke muligt, men kan i komme med et bud tak? :)
Avatar billede Six Nybegynder
07. august 2006 - 19:11 #1
Mit forslag ville være at få javascript til at udskrive arrayet i en textfil og så læse tekstfilen med php.
Avatar billede Six Nybegynder
07. august 2006 - 19:12 #2
men den ved jeg så heller ikke lige helt om den vil holde... nu jeg tænker mig om hehe.
Avatar billede scaniav8 Nybegynder
07. august 2006 - 19:12 #3
Hm ja det ville blive et rod, pga. det er et id som ligger i obj, og for hver bruger der er online, får hver bruger et id, så det ville lægge et stort rod på serveren, så den går ikke, men god pointe..!
Avatar billede nielle Nybegynder
07. august 2006 - 19:22 #4
PHP bliver kørt serverside, JavaScript bliver kørt clientside. Din PHP kode køres med andre ord før at JavaScriptet køre.

Dette gør det unægteligt noget vanskeligt at overføre data fra dit JS til dit PHP. Den enestre måde det kan lade sig gøre på er ved at lade JS koden submitte siden til serveren.
Avatar billede scaniav8 Nybegynder
07. august 2006 - 19:27 #5
Dvs. jeg ikke kan lave en f.x:

<?php
if($row[id] == "js-obj"){
?>

??? Det burde da kunne lade sig gøre på en eller anden måde, uden at skulle submitte ? :(
Avatar billede nielle Nybegynder
07. august 2006 - 19:34 #6
Desværre.

1) PHP-koden udføres først på serveren. Dette resulterer i noget tekst - sædvanligvis HTML-kode blandet med noget JavaScript-kode (men output kan også være andet).
2) Denne tekst sendes til klienten hvor browseren modtager den.
3) Derefter går browseren igang med at vise HTML-koden samt at køre JavaScript-koden.

Hvis JavaScriptet producere noget data i et array, så er den eneste måde at dette kan komme PHP-sctiptet i hænde, ved at sende det fra client til server. Dette kan enten ske ved at JS-koden gemmer i en cookie (som så bliver læst næste gangs at der requestes til serveren), eller ved at JS-koden submitter data via et URL eller en form som kaldes.
Avatar billede scaniav8 Nybegynder
07. august 2006 - 19:53 #7
Det er da lame, men ok da.... Læg lige et svar =)
Avatar billede nielle Nybegynder
07. august 2006 - 19:54 #8
Sådan fungere tingene nu engang.

Men hvorfor ønsker du ikke at submitte data fra klieneten tilbage til serveren?
Avatar billede scaniav8 Nybegynder
07. august 2006 - 19:57 #9
Hmm der er 1000 ting at tænke på lige nu he he. Jamen først og fremmest skal siden ikke submittes, men derimod refreshes, og jeg skal nu bruge mit obj; i php for at lave et tjek i min db, om den kan finde det ID som jeg har fået ved at åbne siden..! You understand?
Avatar billede nielle Nybegynder
07. august 2006 - 20:00 #10
En refreash er jo blot en bestemt måde at submitte på. Det kan sagtens kombineres med at der sendes data til serveren.
Avatar billede coderdk Praktikant
07. august 2006 - 20:21 #11
Du kan nok gøre det med en af de utallige AJAX-pakker der findes rundt omkring... Kommer også an på hvordan dit js-object ser ud :P
Avatar billede scaniav8 Nybegynder
16. august 2006 - 18:19 #12
lukker spg...
Avatar billede nielle Nybegynder
16. august 2006 - 19:07 #13
Hmmm? Du kunne da i det mindste reagere på vores indlæg før at du bare lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester