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
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #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

10 Gründe, warum das Todesstern-Projekt gescheitert ist
10 Gründe, warum das Todesstern-Projekt gescheitert istDie Todesstern-Projekte sind spektakulär gescheitert. Lernen Sie von den Fehlern des Imperiums und bewahren Sie Ihre Projekte davor, der dunklen Seite der Macht zu verfallen!

24.11.2020 | Berni

Projektmanagement-Grundlagen Was ist ein PMO?
Projektmanagement-Grundlagen Was ist ein PMO?In unserer Infografik erfahrt ihr es.

02.11.2020 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:08 Uhr.