Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
01.10.2004, 19:56
Death-Angel



Hiho. Ich hätte da eine Frage.
Ist es möglich ein in JavaScript erstelltes Array in ein PHP Array umzuwandeln?
Der Grund für meine Frage ist folgender: Ich möchte ein in JavaScript erstelltes/befülltes Array an eine neue PHP Datei übergeben, entweder über den Link oder per Post. Leider sind bis jetzt all meine Versuche kläglich gescheitert *g*
Wäre echt nett, wenn mir jemand weiterhelfen könnte =)

mfg
Death-Angel

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
001
02.10.2004, 10:43
CN



das geht so wie du das "versucht" hast
über get zb.
wenn du keinen code postest kann ich nur sagen "try harder"

--

zum Seitenanfang zum Seitenende Profil || Suche
002
02.10.2004, 12:40
Death-Angel



Na gut, am Code solls nicht scheitern, hilft aber an dieser Stelle nicht viel weiter, da ich ja eigentlich nur wissen wollte, ob es möglich ist bzw. wie es geht. Es könnte ja irgendein x beliebiges Array sein, das ich dann mit $_GET oder $_POST per PHP auslesen kann.

Hier ist der Code bzw. ein Schnipsel davon:

Quellcode:function field_click(id, link) {
    if(field[id] == 1){
        field[id] = 0;
            link.style.background='url(gras_01.jpg)';
    }else{
        field[id] = 1;
        links[id] = link;
          
        if(buy == true) name = "buy";
        else name = "gras";
        
        link.style.background='url('+name+'_02.jpg)';

        //hier sollte normalerweise jetzt die Übergabe des Arrays field durch z.B. einen refresh der Seite geschehen
    }
}

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
003
02.10.2004, 13:24
CN



mach doch einfach mal sowas:
location.href("seite.php?val1=" + arr[1] + "&val2=" + arr[2] .....

--

zum Seitenanfang zum Seitenende Profil || Suche
004
02.10.2004, 13:48
Death-Angel



Jopp hatte ich mir auch schon gedacht, aber da kann dann jeder ganz leicht an den Daten rumpfuschen :/ und der Array ist 60 Felder groß, da wird dann die Url zu lang :(

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
005
02.10.2004, 14:21
K-Putt



60 Felder?
Da ist die Frage, warum du so viel Clientseitig mit JS machst, das ginge doch bestimmt auch Serverseitig.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
006
02.10.2004, 14:44
Death-Angel



Ich hab eine 10*6 Felder große Tabelle und in der kann man einzelne Felder auswählen und das geht ja eigentlich nur Clientseitig über JS, oder? (und das sich dann der Hintergrund ändert, wenn man drauf geklickt hat) Ich kenn mich da nicht so gut aus. Die Ausgewählten Felder werden dann in ein Array geschrieben und den will ich dann einer PHP Seite übergeben, für die weitere Bearbeitung.

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
007
02.10.2004, 16:04
CN



ich versteh deinen post gar nich

falls das aber ein formular sein soll dann geht das auch mit php

--

zum Seitenanfang zum Seitenende Profil || Suche
008
02.10.2004, 19:33
oxff



Du kannst ein Formular mit unsichtbaren 'Werten' machen (<input type="hidden">), deren Value du onClick veränderst. Das ganze geht dann ganz einfach über POST an dein PHP-Script.

--

mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik

zum Seitenanfang zum Seitenende Profil || Suche
009
03.10.2004, 00:18
Death-Angel



hab das heute mittag schon mit dem hidden input versucht, aber ich konnte der value nicht einmal eine variable übergeben :/ vielleicht hab ich ja auch was falsch gemacht... mhh kannst du mir evtl. ein codebeispiel geben?

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
010
03.10.2004, 11:13
Megge



poste lieber du mal deinen code, damits uns dämmert :)
(am besten weblink)

--

zum Seitenanfang zum Seitenende Profil || Suche
011
06.10.2004, 12:17
Death-Angel



sry war einbissel unter stress darum konnte ich nicht antworten :/

http://xunit.de/test/test.php

so, hier ist der code:

test.php
Quellcode:<?PHP
    $cnt= 0;
    for($yc = 5; $yc >= -5; $yc--){
        
        $string .= "<tr>";
        
        for($xc = -10; $xc <= +10; $xc++){
            $string .= "<td class="test"><img src="icon.jpg" id="$cnt" width="30" height="30" border="0" onMouseOver="feld_over($cnt)" onMouseOut="feld_out($cnt)" onclick="feld_click($cnt)" alt="$cnt"></td>\n";
            $cnt++;    
        }
        

        $string .= "</tr>";
    }
    
    
?>

<html>
<head>
<title>View Demo</title>
<link rel="stylesheet" href="road.css">
<script language="JavaScript" src="test.js"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse">
  <?PHP echo"$string"; ?>
</table>
</body>
</html>
test.js
Quellcode:var feld = new Array(230)

function feld_click(id) {
    if(feld[id] == 1){
        feld[id] = 0;
        document.getElementById(id).src='icon-0.jpg';
    }else{
        feld[id] = 1;
        document.getElementById(id).src='icon-1.jpg';
    }

}

function feld_over(id) {
    if(feld[id] != 1) document.getElementById(id).src='icon-1.jpg';
}

function feld_out(id) {
    if(feld[id] != 1) document.getElementById(id).src='icon-0.jpg';
}
ich hab den code auf das nötigste reduziert, darum ist vielleicht der sinn von diesem dingens nicht mehr so gut zu erkennen *gg*

mein problem ist hier das array "feld" einer anderen php datei zu übergeben. wäre nett wenn mir jemand erklären könnte wie das genau mit dem hidden post funtzt ^^
acho, vielleicht wird sich der eine oder andere wundern "huh bei mir werden bei den bilder nur rote x angezeigt...." joa... das führt mich jetzt zu meinem neuen Problem... sobald ein JavaScript enthalten ist und mehrere gleiche bilder, in diesem fall 230, angezeigt werden, dann blickt der IE das nicht bei jedem :/ ich hab schon paar andere das testen lassen. bei manchen geht es ohne probs mit dem IE und bei manchen nicht (wie bei mir z.B.)
ich blick nicht warum das nicht geht bzw. warum er damit probleme bekommt..... weis jemand warum das nicht geht?

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
012
06.10.2004, 14:03
K-Putt



Dass die Icons beim Betreten der Seite nicht funktionieren, liegt wohl daran, dass du die Grafik nicht mit hochgeladen hast, zumindest greift dein Skript auf diese URL
http://xunit.de/test/icon.jpg
zu, unter der keine Grafik zu finden ist.

Zum Problem, ich persönlich würde das ja so machen, dass bei jedem klick auf eine Grafik, das PHP Skript sich selbst aufruft, und intern dann mit den übergebenen Variablen weiter gearbeitet wird.
Was den Vorteil hätte, dass man komplett auf JS verzichten könnte.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
013
06.10.2004, 15:04
Death-Angel



Achso ups, da hab ich wohl das -0 übersehen, aber das Problem wie ich es oben mit den Bildern beschrieben habe ist trotzdem noch da. Sobald ich das javascript herausnehme werden die Bilder richtig geladen. Es muss nicht einmal etwas in dem js stehen, es reicht allein das <script... /script>. bei manchen werde die Bilder auch mit js richtig geladen, aber bei manchen wie bei mir und einem Kumpel z.B. halt nicht :/ Wenn ich aber per Mozilla auf die Seite geht, dann geht alles ..... liegt halt nur am IE... wie immer halt *g*

Du meinst, dass nach jedem Klick die Seite neu geladen wird? Mhhh wäre sehr unpraktisch, da ich jedes mal eine größere Datenmenge aus der DB heraus lesen muss und das ständige Laden nach einem Klick würde schnell nerven.

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche
014
06.10.2004, 18:06
Jim Panse



die lösung deines problems lautet: session_start(); (siehe dazu php doku)
dann steht dir das array: $_SESSION zur verfügung, das für jeden benutzer gespeichert wird (serverseitig). du kannst da auch beliebige dimensionen ranhängen...
in der session kannst du alles zwischenspeichern, was du zur anzeige deiner seite brauchst, erst wenn alles fertig eingestellt ist, speicherst du deine daten in der db.

--

zum Seitenanfang zum Seitenende Profil || Suche
015
06.10.2004, 20:45
Death-Angel



Mit den Arrays in PHP hab ich keine Probs. Dein Rat ist zwar gut gemeint, aber bringt mich an dieser Stelle nicht weiter.

Hab mir nun selbst beholfen ^^ und es funtzt auch ^^
Wenn jemand wissen will, wie ich es hinbekommen habe, hier:

Quellcode:<?PHP

    if($_POST[test]){
        echo"Du hascht poscht!<br>$_POST[test]<br>";
                $a = explode (",", $_POST[test]);
        print_r($a);
    }
    
?>

<html>
<head>
<title>Poscht Demo</title>
<script language="JavaScript">

function send(){
    var a = new Array();
    a[0] = "Test";
    a[1] = "blubb";
    a[2] = "hehe";
    document.Testform.test.value = a;
    document.Testform.submit();
}

</script>
</head>
<body>
<form name="Testform" action="JStoPHP.php" method="post">
<input type="hidden" value="" name="test">
<input type=button value="Senden" onClick="send()">
</form>
</body>
</html>
http://xunit.de/test/JStoPHP.php

--

Mein Japan Tagebuch | Japan Gallerie

zum Seitenanfang zum Seitenende Profil || Suche