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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:46 Uhr.