PHP-Variable per Click mit "innerHtml" ändern?

MortiferX

Cadet 2nd Year
Registriert
Feb. 2009
Beiträge
25
Hallo,

Das ist etwas kompliziert, finde ich.
Per Java-Skript ist es ganz leicht einen HTML-Text mit ID auszulesen und in einer anderen HTML-Datei per ID wieder einzufügen.

HTML:
<script language=JavaScript>
function LT_enableInfobox01() {
	document.getElementById('Infoboxiframe01').style.display = 'block';
	document.getElementById('Schliessenkreuz').style.display = 'block';
	document.getElementById('ClicktoClose').style.display = 'block';
	Infoboxiframe.document.getElementById('Titel').innerHTML = ('Nähere Informationen zu ') + document.getElementById("H-01").
innerHTML;
	Infoboxiframe.document.getElementById('Infoboxiframe02').src = document.getElementById("Seitenanzeige").innerHTML + 
('/Info-') + document.getElementById("H-01").innerHTML.replace("ä","ae").replace("ü","ue").
replace("ö","oe").replace("Ä","Ae").replace("Ü","Ue").replace("Ö","Oe") + ('.html');
}
</script>

Im HTML wird das dann durch folgenden Code ausgeführt:
HTML:
<div id="OpenInfoboxDiv"><a href="#_self" onclick="LT_enableInfobox01()">N&auml;here Information</a>

Es öffnet sich ein iframe und dort wird eben der ausgelesene HTML-Text dann an gewünschter Stelle über die ID im iframe eingefügt.
(Der Skript, den ich da schrieb, ist sehr lange und kompliziert. Bitte entschuldigt, wenn ich hier nicht alles poste.)


Nur wie mache ich das in PHP?
Ich möchte hier ebenso einen HTML-Text, welcher durch eine ID eindeutig zugeordnet ist, per Click über eine Funktion auslesen lassen und dann in einer PHP-Datei als Variable einfügen lassen.

Das steht in der HTML-Datei:
HTML:
<p id="HG01">Hochhaus-Love</p>

Und in der PHP-Datei soll diese Variable mit "Hochhaus-Love" versehen werden per Klick:
PHP:
$produkt = "['HG01'].php";

Zudem sollte sich diese Varibale halt immer ändern, je nachdem, auf welchen Button ich klicke, muss eine andere Information ausgelesen werden aus der HTML-Datei und dann in diese Variable eingesetzt werden.
Wie gesagt, mit Html->Java->Html habe ich das alles schon hinbekommen, nur mit Html->Java->PHP?

Ich bin ein Anfänger, der versucht sich alles selbst beizubringen. Ich arbeite mit Dreamwaever. In HTML kenn ich mich schon recht gut aus, Java geht auch, nun brauche ich aber PHP für ein Forumlar. Entschuldigt bitte meine Unfähigkeit in PHP. ^^ Vielleicht weiß ja jemand eine Lösung. Ich habe schon ewig gegooglet und finde einfach nichts, was mir weiterhilft.

Falls was unklar ist, fragt bitte einfach nach.

Ich hoffe jedenfalls, dass es eine Lösung mit einer Java-Funktion gibt, denn es soll bei Möglichkeit nicht allzu kompliziert werden. ^^

LG
Mikey
 
Zuletzt bearbeitet:
Bitte beachte erstens, dass Java und JavaScript zwei grundsätzlich verschiedene Dinge sind. Wenn du JavaScript unbedingt abkürzen möchtest, kannst du auch "JS" verwenden, das ist übrigens auch die offizielle Dateierweiterung.

Dann zu PHP: dabei handelt es sich um eine serverseitige Scriptsprache. Wenn du im Browser dynamische Inhalte anzeigen willst, dann musst du dies mit einer clientseitigen Sprache (sprich JS) tun! Was du mit PHP jedoch sehr einfach tun kannst, ist sowohl statisches HTML als auch dynamische Inhalte (Ajax) auf dem Server on-the-fly zu generieren.

Nun zu deiner Frage: verstehe ich das richtig? Du hast eine statische Seite und möchtest mit Klick auf einen Link zusätzliche Informationen in einem IFrame einblenden? Als Referenz dazu nimmst du den Inhalt eines HTML-Codes von eben jener statischer Seite. Nun meine Frage: wieso machst du es so kompliziert, einen Link dynamisch zu erstellen, wenn es sich sowieso nur um eine statische Seite handelt?
 
Sorry wegen Java und JS, dachte das hinge miteinander zusammen.

Also die Seite an sich ist statisch (HTML), aber mir dynmischen Inhalten per JS. Darum gehst eher weniger. Der Link öffnet ein Popup; das ist dann in PHP geschrieben. In diesem PHP muss eine Variable geändert werden, durch den Klick, welcher auch das Popup öffnet. So dass ich ein Forumlar habe und 100 Buttons, welche jeweils eine Variable in dem einen Formular ändern.

Also hier: Ich habe hier ein Formular in PHP geschrieben: http://severinfeagil.se.funpic.de/weltentafel/Kunst/Buy/Formular.php/?toolbar=n

Ich habe nun das Problem, dass das eine Auswahlmenü mit den Formaten je nach Bild/Link eine andere Auswahlmöglichkeit haben soll. Ich will aber keine 100 und mehr Formulare erstellen müssen deswegen. Daher setzte ich die Formate in ein externes PHP, welches dann per require('$produkt') ins Hauptforumlar eingefügt wird.

Nun habe ich aber in dem Forumlar wieder bloß eine statische Variable. D.h. ich müsste trotzdem 100 Forumlare mit jeweils einer anderen Variable erstellen, außer es gibt die Möglichkeit, dass die Variable eben geändert werden könnte.

Formular.php
PHP:
<?php
	
	$produkt = "Hochhaus-Love.php";
[...]
PHP:
<tr> 
        <td>&nbsp;</td>
      <td><strong>
        Bild-Format**</strong></td>
		<td width="516"><?php require($produkt); ?>
      					<?php require('preise.php'); ?></td>
      </tr> 
    <tr>
    	<td>&nbsp;</td>
        <td>&nbsp;</td>
        <td><strong><div id="formatpreis"></div></strong></td>
    </tr>

HTML:
<td><a href="Buy/Formular.php/?toolbar=n" target="popup"
onClick="window.open('','popup','toolbar=no;location=no,width=800,height=800')">
Click to Buy</a>

Hier sollte dann per "onClick" eine JS ausgeführt werden, welcher im PHP den Wert "$produkt = "" ändert.

Ist das nun möglich oder nicht? Oder wie mache ich das in JS? Die Variable hat ja keine ID..

LG
Mikey

PS: Langsam denke ich, ich muss das alles anders angehen. Vielleicht schreib ich es alles mit JS, ka.. stellte mir das nicht so kompliziert vor :D
 
Zuletzt bearbeitet:
naja, bau dir den Link mittels JS zusammen. Ruf also nicht "buy/formular.php/?toolbar=n" auf sondern häng da noch ein "&produkt=%%PRODUKT%%" an. Musst dann halt mit JS rausfinden wie du %%PRODUKT%% setzt.

Und dann im formular.php ein $produkt = $_REQUEST['produkt'] und feddisch (ok, vielleicht sollte man noch escapen und so - aber prinzipiell sollte das so gehen, wenn ich nicht alles falsch verstanden hab...)
 
Danke, ich werde es mal ausprobieren.

Kann ich den Link dann schon mit "<a href=" machen, oder muss ich hier eben einen JS erstellen, welcher dann onclick eine Funktion ausführt?
 
schon mit einem onClick. Allerdings könntest du da dann auch einfach ein "window.location.href='/buy/formular..." reinschreiben, sollte auch gehen und ist keine große Extrafunktion.
 
Hallo
also ich muss bei einer Sache dem darkservant2 gegensprechen.

benutze bitte nicht $_REQUEST
benutze $_POST oder $_GET
(falls du nicht weisst was das ist dann schau dir ein tutorial an, ich empfehle quakenet php tutorial)

ansonsten würde ich den gleichen Lösungsweg vorschlagen

im link einfach eine GET-Variable reinsetzen wobei du daran denken musst dass dieser GET-Wert dann im link zu sehen ist.
manchmal ist sowas nicht erwünscht.

eine andere möglichkeit ist eine POST-Variable.
beim absenden eines Formulars werden die Werte als POST-Variablen vershcickt.
beim klikken eines links kannst du auch POST-Variablen verschicken in dem du javascript benutzt.
schau dir mal das hier an
http://entwickler-forum.de/showthread.php?t=29539
denke mal da du von javascript ahnung hast wird das für dich kein problem sein.

viel erfolg
 
Zurück
Oben