php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 7 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 03-12-2006, 04:39
Anuschka
 Newbie
Links : Onlinestatus : Anuschka ist offline
Registriert seit: Jul 2004
Beiträge: 20
Anuschka ist zur Zeit noch ein unbeschriebenes Blatt
Standard Javascript Array per Form an PHP Seite übergeben

Hallo zusammen,
nach stundenlangem googlen und rumtesten mit den lösungen zu dem thema, bin ich dann doch hier gelandet weil alles irgendwie nicht wirklich funktionieren will.

Da mein Problem mit Javascript und PHP zu tun hat, wusste ich nicht genau in welchem Forum (hier oder in PHP) ich posten soll. Falls ich falsch gepostet haben sollte, bitte ich dies zu entschuldigen und den Beitrag einfach zu verschieben.

Also von vorn, ich habe ein mit Post übergebenes PHP Array was ich in Javascript haben möchte, da ich dieses dann mit Hilfe von Javascript Funktionen ändern möchte. Das geht auch alles soweit.

Da ich aber nun die geänderten und hinzugefügten Daten wieder auf der nächsten Seite brauche, um diese dann in der Datenbank mittels PHP speichern zu können, brauche ich logischerweise das Javascript Array wiederübergeben an die PHP Seite, am besten per Post oder Get.

Ich habe es mit einem hidden Feld probiert und auch das ganze an die URL zu hängen, aber das was ich probiert habe funzt alles nicht.

hier mal ein teil meines codes zum besseren Verständnis:
PHP-Code:
function Ausgabe(){
<?
$i 
2;
while (
$daten[$i] != ""){
    echo 
"datenjs[".$i."] = \"".$daten[$i]."\";";
    echo 
"document.write(\"<option>\");";
    echo 
"document.write(datenjs[".$i."]);";
    echo 
"document.write(\"</option>\");";
    
$i++;
  }
echo 
"z = ".$i.";";
?>
}
das funktioniert einwandfrei. ich ändere die daten im dem ich an das array weitere daten dranhänge und die daten in dem jeweiligen Option ändere.
Die geänderten und hinzugefügten Daten sind dann wieder in dem datenjs drin, dieses brauche ich übergeben an die nächste PHP Seite.
Aber eben wie ist die Frage.

Folgende Möglichkeiten habe ich bereits probiert:
1.
Code:
 
function speichern(){
document.write("<input type=\"hidden\" name=\"daten\" value=\"");
document.write(datenjs);
document.write("\">");
}
2.
Code:
<form name="Step2" method="post" action="Seite1_3_1.php?daten = datenjs&zahl= <? echo $zahl; ?>">
3.
Code:
<form name="form1" action="#">
<input type="hidden" name="versteckt" value="nix">
<input type="submit">
</form>
<a href="Seite1_3_1.php?zahl= <? echo $zahl; ?>" onclick="document.form1.versteckt.value='datenjs';return false">Hier klicken</a>
Aber die haben bei mir alle nicht funktioniert. Hat einer von euch eine gute Idee dazu ?

LG Anja

edit:
weitere Möglichkeit die leider auch nicht gehen will.
Code:
function speichern(){
var a = z;
var tempdaten;
while (a != -1){
tempdaten = tempdaten + datenjs[a];
a--;
}
self.location.href = "Seite1_3_1.php?daten ="+tempdaten+"&zahl= <? echo $zahl; ?>";
self.document.Step2.submit();
}

Geändert von Anuschka (03-12-2006 um 05:05 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 03-12-2006, 05:39
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Session?
Mit Zitat antworten
  #3 (permalink)  
Alt 03-12-2006, 05:56
Anuschka
 Newbie
Links : Onlinestatus : Anuschka ist offline
Registriert seit: Jul 2004
Beiträge: 20
Anuschka ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich mich nicht ganz irre, ist eine session wie php serverseitig.
ich wüsste nicht wie ich ein javascript array in eine session (die ja auch nur mit php läuft ) schreiben soll
Mit Zitat antworten
  #4 (permalink)  
Alt 03-12-2006, 15:06
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Vielleicht habe ich dich mißverstanden: Du versuchst Daten über mehrere Requests weiterzugeben.
Dazu läßt du PHP etwas Javascript ausgeben, welches wiederum HTML ausgibt, das du per CSS versteckst. Ziemlich kompliziert und da der User sowieso nichts davon mitbekommt, kann er die Daten auch nicht ändern.
Deshalb liegt es nahe, die Daten überhaupt nicht an den Client zu senden sondern in einer Session auf dem Server zu führen.
Mit Zitat antworten
  #5 (permalink)  
Alt 03-12-2006, 16:57
Anuschka
 Newbie
Links : Onlinestatus : Anuschka ist offline
Registriert seit: Jul 2004
Beiträge: 20
Anuschka ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nee nicht ganz.

ich hole die daten auf dieser seite mittels Objekte und
Klassenzugriffen aus der Datenbank.
Der Nutzer kann sich die angezeigen Datensätze ansehen,
ändern, etwas hinzufügen und auch löschen.

Und diese geänderten Daten möchte ich übergeben an die
nächste Seite. wenn sie nicht geändert würden, wüsste ich wie
ich die Daten mittels Javascript an die nächste PHP Seite
übergeben kann, aber eben nicht die geänderten.

Einen Weg habe ich gefunden der bei einem anderen Script
funktioniert. Und zwar sieht der wie folgt aus
Code:
<HTML>
<script>
var name = new Array;
var hilfmir;
var i = 0;
name[0] = "ich will";
name[1] = "ich will auch";

while (name[i] != null )
{
hilfmir = hilfmir + name[i]+ "<<>>" ;
i = i+1;
}
self.location.href = "foo.php?name="+hilfmir;
</script>
</HTML>
und die dazugehörige PHP Seite:
PHP-Code:
<?
$me 
$_GET['name'];
Echo 
"Das steht in der Variable:<br>".$me;
?>
das geht, aber wenn ich das ganze in mein script packe dann ist
immer das datenjs (mein array) leer so dass ich es nicht an die
nächste Seite weitergeben kann und ich hab keine Ahnung wieso.
weil ich mir das datenjs in den anderen Funktionen im script bereich
immer mit alert ausgeben lassen kann.

Hier mal der ganze Script Teil. Vielleicht sieht einer von euch warum
das datenjs leer ist, oder wie ich es weitergeben kann.
Code:
<?php
include ("schnittstelle.php");
$zahl = $_GET["zahl"];
$neu = new schnittstelle;
#$neu->updatebynummer($zahl);
$daten = $neu->getallDatenbyNummer($zahl);
$hilfe = 2;
?>
<html>
<head><title></title>
<script>
<!--

var datenteil = new Array();
var datenjs = new Array();
var neuedaten = new Array();
var hilfszahl;
var help = 0;
var z;
var a;
var tempdaten = "HUHU";
function Ausgabe(){
<?
$i = 2;
while ($daten[$i] != ""){
    echo "datenjs[".$i."] = \"".$daten[$i]."\";";
    echo "document.write(\"<option>\");";
    echo "document.write(datenjs[".$i."]);";
    echo "document.write(\"</option>\");";
    $i++;
  }
echo "z = ".$i.";";
?>
}

function inArea() {
if (Step2.Website.value == "")
{document.getElementById("farbe5").color = "red";}
else
{document.getElementById("farbe5").color = "white";}
if (Step2.NicknID.value == "")
{document.getElementById("farbe6").color = "red";}
else
{document.getElementById("farbe6").color = "white";}

if(Step2.Website.value!="" && Step2.NicknID.value!="" ){
  if (Step2.taste.value == "Eintrag updaten"){
    EintragUpdate = new Option(document.forms[0].Website.value 
+ " <-> " + document.forms[0].NicknID.value,document.forms[0].Website.value 
+ " <-> " + document.forms[0].NicknID.value,false, true);
    document.forms[0].T3.options[document.forms[0].T3.selectedIndex] 
= EintragUpdate;
    document.forms[0].Website.value = "";
    document.forms[0].NicknID.value = "";
    document.forms[0].T3.disabled = false;
    Step2.editieren.disabled = false;
    Step2.weg.disabled = false;
    }
else{
NeuerEintrag = new Option(document.forms[0].Website.value + " 
<-> " + document.forms[0].NicknID.value,document.forms[0].Website.value 
+ " <-> " + document.forms[0].NicknID.value,false, true);
document.forms[0].T3.options[document.forms[0].T3.length] = 
NeuerEintrag;
datenjs[z] = document.forms[0].Website.value + " <-> " + 
document.forms[0].NicknID.value;
document.forms[0].Website.value = "";
document.forms[0].NicknID.value = "";
z++;
    }
  }
}
function loeschen() {
document.forms[0].T3.options[document.forms[0].T3.selectedIndex] 
= null;
}

function aendern(){
datenteil  = document.forms[0].T3.options[document.forms[0].T3.selectedIndex].text.split(" 
<-> ");
document.forms[0].Website.value = datenteil[0];
document.forms[0].NicknID.value = datenteil[1];
Step2.taste.value = "Eintrag updaten";
document.forms[0].T3.disabled = true;
Step2.editieren.disabled = true;
Step2.weg.disabled = true;
}

function speichern(){
a = z;
while (a != -1){
tempdaten = tempdaten + datenjs[a];
a--;
}
self.document.Step2.submit();
}
// -->
</script>
und die dazugehörigen Aufrufe im PHP und HTML Bereich
PHP-Code:
</head>
<BODY BGCOLOR="#000000">
<font face="Arial" color="white">
<small>
<center>
<img src="Websitenedit.jpg"><br>
<font face="arial" color="white">
<br>
Hier kannst du deine Webseiteneintr&auml;ge editieren<br><br>
<form name="Step2" method="post" action = 
"Seite1_3_1.php?zahl=<? echo $zahl?>&daten="+tempdaten>
<?
echo "<select name=\"T3\" size=\"1\">";
echo 
"<script>Ausgabe();</script>";
echo 
"</select><br><br>";
?>
<table border="0" width="225">
<tr>
<td><center><input type="button" value="Eintrag ändern" 
Name="editieren" onClick="aendern();"></td>
<td><center><input type="button" value="Eintrag löschen" 
Name="weg" onClick="loeschen();"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td><font face="arial" color="white"><small><font id="farbe5">Webportal / 
-seite:</font>&nbsp;&nbsp;</font></small>
</td>
<td><font face="arial" color="white"><small><font 
id="farbe6">Nickname / ID:</font>&nbsp;&nbsp;</font></small></td>
</tr>
<tr>
<td><input type="text" name="Website" value=""  size="20"></td>
<td><input type="text" name="NicknID" value=""  size="20"></td>
</tr>
</table>
<input type="button" value="Hinzufügen" Name="taste" 
onClick="inArea();"></p>
<input type ="button" name="Upload" value="Im Profil speichern" 
onClick="speichern();"><br>
</form>
<br>
<input type="button" value="Zurück zum Profil" 
onClick="history.back()">
</small>
</center>
</body>
</html>

Ich hoffe ich erschlage euch mit dem gesamten Quellcode nicht, aber
ich denke so könnt ihr mein Vorhaben besser verstehen und nachvollziehen.

Geändert von Anuschka (03-12-2006 um 17:02 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:47 Uhr.