• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Variable lesen ....

Powell

New member
Wie kann ich auf einer Seite mit der Endung php, eine Variable aus dem parent-frameset in ein Textfeld laden.

Oder

warum funzt Javascript nicht auf der phpSeite?
 
Powell schrieb:
Wie kann ich auf einer Seite mit der Endung php, eine Variable aus dem parent-frameset in ein Textfeld laden.
ich würd sagen entweder per GET oder POST Request.... dabei wird die Seite einfach neu geladen und vom Skript generiert (z.B. index.php?param1=Hallo)
Oder Du benutzt Javascript!

Powell schrieb:
warum funzt Javascript nicht auf der phpSeite?
Javascript funzt auf einer Javascript Seite!!! Warum es bei Dir nicht funzt, kann mehrere Ursachen haben....
Zunächst eine simple Frage: Du rufst die Seite doch über den Web Server (z.B. http://localhost/index.php) auf, oder??
Wenn Dies der Fall ist, dann speichere doch mal die daraus resultierende HTML Datei ab und untersuche sie, finde heraus, warum die nicht läuft, oder wer hier Mist produziert.... Dein PHP oder Dein JS....
 
Kann es sein, dass etwas mit dem Server nicht stimmt?
Also PHP allgemein klappt ja.
Bedenk bitte, dass ich mir den Server vorgestern erst installiert habe.
Ich habe das probiert, auf der PHPSeite die ich unter localhost angucke geht kein JavaScript. Wenn ich den Quelltext speicher und die Seite als htm abspeicher funkrioniert das Javascript.

???
 
Kann mal bitte wer gucken?




<html>
<head>
<title>UntitledFrameset-13</title>


</head>

<body bgcolor="#FFFFFF" text="#000000">
<?PHP
if(!isset($url)){
?>
<?PHP
}
$string = file("http://".$url);
$string = implode("\n",$string);
$string = htmlspecialchars($string);
?>
<p> 
</p>
<p> </p>
<p>Hier gehts lang
<form method="POST" action="get.php" onsubmit="return false" name="sur">
<p>
<input type="text" name="url" size="20" onblur=javascript:document.sur.submit();>
<input type="submit" value="Abschicken" name="B1">
<input type="reset" value="Zurücksetzen" name="B2">
</p>
<p> </p>
<p>
<textarea rows="10" name="S1" cols="50" onblur=javascript:document.formular.DateiInhalt.value=document.sur.S1.value><?PHP echo $string; ?></textarea>
<input type="text" name="wwr">
</p>

</form>


<form method="POST" action="get.php" onsubmit="return false" name="sus">

<p>
<input type="text" name="url2" size="20" onFocus=javascript:document.sus.url.value=parent.wert1; onblur:javascript:document.sus.submit();>
<input type="submit" value="Abschicken" name="B1">
<input type="reset" value="Zurücksetzen" name="B2">
</p>
<p> </p>
<p>
<textarea rows="10" name="text" cols="50" onblur=javascript:document.formular.DateiInhalt.value=document.sus.text.value><?PHP echo $string; ?></textarea>
</p>
</form>


</body>
</html>
 
ähmm Du kannst Dein Skript hier noch 25 mal posten....
Javascript geht in PHP Dateien, denn PHP Dateien generieren i.d.R. reines HTML!!!

Die einzigsten zwei Fehler, die ich bei der optischen Durchsicht entdecke sind:
1. Verwende Anführungszeichen!!
2. onblur:javascript kann nicht funktionieren

Und jetzt noch einmal der Tipp: Schau Dir den Quelltext der Seite im Browser an!! D.h. nachdem der Server die PHP Konstrukte ausgeführt hat. Dann analysiere, was an Deinem JS falsch ist, und warum es nicht läuft.
 
Was bitte ist das?!

<body bgcolor="#FFFFFF" text="#000000">
<?PHP
if(!isset($url)){
?>
<?PHP
}
$string = file("http://".$url);
$string = implode("\n",$string);
$string = htmlspecialchars($string);
?>

Wenn URL gesetzt ist, dann beende PHP und starte PHP neu um eine Datei mit vorangestellten http:// zu öffnen, auch wenn es dann zweimal drin vorkommt, mache einen String aus Variable $string und dann mache aus allen Sonderzeichen Standartzeichen, so dass man in der Textbox weiter unten den Quelltext der aufgerufenen Seite sehen kann.

<form method="POST" action="get.php" onsubmit="return false" name="sur">
<p>
<input type="text" name="url" size="20" onblur=javascript:document.sur.submit();>
<input type="submit" value="Abschicken" name="B1">
<input type="reset" value="Zurücksetzen" name="B2">
</p>
<p> </p>
<p>
<textarea rows="10" name="S1" cols="50" onblur=javascript:document.formular.DateiInhalt.value=document.sur.S1.value><?PHP echo $string; ?></textarea>
<input type="text" name="wwr">
</p>

</form>

Erstelle ein Formular und wenn man es abschicken will verbiete es! Erst wenn onBlur auf Text zutrifft führe ein falsches JS aus?!

Seit wann hat ein Frameset einen Body teil?! Bitte lese dir mal http://teamone.de/selfhtml durch.

Gruß
Melzi

P.S. Du musst noch eine ganze Menge an diesem Script verbessern!
 
Ähm, wo Schei... drauf steht, muss ja nicht Schei.... drin sein. Ist ja egal was im Titel steht.
Warum sollte on blur Javascript nicht funtzen?

@Melzi
Sei bitte so lieb und mach mir nen Beispiel. Sonst peil ichs net.
 
nunja weil Du "onblur:javascript:" geschrieben hast!!!

ähmm auch wenn ich mich wiederhole:
1. stell sicher, daß Dein PHP läuft
2. guck den gerenderten Code an, den der Browser vom WebServer erhält
3. Beschreib exakt, was nicht geht.... die Aussage JS geht nicht ist ein bißchen pauschal, oder??


was den Titel anbetrifft, Du hast eine Variable, sie wird gelesen, eine Übergabe mit GET oder POST hast Du auch drin.... was willst Du also genau wissen??
 
Hallo!

Was Albu, glaub ich meinte:

onblur=javascript:document.formular.DateiInhalt.value=document.sus.text.value

Bei Eventhandlern wie onBlur oder onFocus kannst das javascript: weglassen da Eventhandler aus JS stammen und damit JS ausgeführt wird und nichts anderes.
 
nö was ich eigentlich meinte ist die Zeile 12 (von hinten gezählt), da steht onblur: statt onblur= das kann hier also gar nicht funktionieren.... ;);)
 
Achja ich blinde Nuss.

Guck mal auf www.teamone.de/selfhtml und schau dir dort die genaue ANwendung von Eventhandlern an, anscheinend hast du diese nicht ganz verstanden.

Code so wie es sein sollte:

Code:
<html> 
<head> 
<title>UntitledFrameset-13</title> 


</head> 

<body bgcolor="#FFFFFF" text="#000000"> 
<?PHP 
if(!isset($url)){ 
?> 
<?PHP 
} 
$string = file("http://".$url); 
$string = implode("\n",$string); 
$string = htmlspecialchars($string); 
?> 
<p>  
</p> 
<p> </p> 
<p>Hier gehts lang 
<form method="POST" action="get.php" onsubmit="return false" name="sur"> 
<p> 
<input type="text" name="url" size="20" onblur="document.sur.submit();"> 
<input type="submit" value="Abschicken" name="B1"> 
<input type="reset" value="Zurücksetzen" name="B2"> 
</p> 
<p> </p> 
<p> 
<textarea rows="10" name="S1" cols="50" onblur="document.formular.DateiInhalt.value=document.sur.S1.value;"><?PHP echo $string; ?></textarea> 
<input type="text" name="wwr"> 
</p> 

</form> 


<form method="POST" action="get.php" onsubmit="return false" name="sus"> 

<p> 
<input type="text" name="url2" size="20" onFocus="document.sus.url.value=parent.wert1;"  onblur="document.sus.submit();"> 
<input type="submit" value="Abschicken" name="B1"> 
<input type="reset" value="Zurücksetzen" name="B2"> 
</p> 
<p> </p> 
<p> 
<textarea rows="10" name="text" cols="50" onblur="document.formular.DateiInhalt.value=document.sus.text.value"><?PHP echo $string; ?></textarea> 
</p> 
</form> 


</body> 
</html>

Tja versuchs mal.
 
Nun ja so sollte es JavaScriptseitig funktionieren, PHP Seitig sehe ich schwarz und vom HTML wollen wir noch nicht reden, denn wie schon o.g. ein Frameset mit Bodyteil?!

Naja! W3C würde einen Schreikrampf bekommen.

Gruß
Melzi
 
Ihr hab´t ja voll den Plan.

Das JavaScript funzt, wenn die Seite .htm ist.
Das PHP funzt wenn die Endung .php ist.
Und dass im Titel irgendwas von nem Frameset steht ist das ShitEgal.

Oder erstellst Du nen rameset, indem du Frameset in den Titel schreibst?

Nur leider weiss ich immernochnicht, warum das Javascript nicht interprtiert wird, sobald die Endung ,php ist

Gruss Paul :confused:
 
Powell schrieb:
Wie kann ich auf einer Seite mit der Endung php, eine Variable aus dem parent-frameset in ein Textfeld laden.

Oder

warum funzt Javascript nicht auf der phpSeite?

Also, ich habe dir mal das parent-frameset hervorgehoben, verstehste warum ich das Frage?! So das nächste ist dein völlig sinnloser Code, was bitte soll denn eine If-Schleife, die PHP beendet, wenn die Bedingung eintritt und dann gleich wieder PHP startet, so ein quatsch, mein Freund, die Leude die Dir versuchen zu helfen habe schon einen Plan, keine Sorge.

PHP beherrsche ich überdurchschnittlich gut, HTML ist für mich soetwas wie Deutsch und JavaScript bin ich in der Lage dich über Grundlagen aufzuklären für alles andere nutze ich selfHTML.

Wir haben einen Plan und das was Du hier proggen willst ist wohl ein 5 Minuten Job.

Sag was Du willst, ich progge es Dir und poste hier den SCR.

Gruß
Melzi
 
Ich glaub keiner in diesem Forum hat so wenig Plan von PHP wie ich.

Das PHP-Script habe ich von xxeos.
Ich schätze nach deiner Aussage mal, dass das JS nicht interpretiert wird, weil ein Fehler in dem PHP - Script ist.
Das PHP-Script soll einfach den Content irgendeiner absoluten URL auslesen und ihn in ein Textfeld geben.

Kannst du mir bitte eine korrekte Version des PHP-Scripts posten?

Gruss Paul ;)
 
hmmm also bevor ich mich nochmal wiederhole.....
Woraus schließt Du, daß Dein Javascript aus der PHP Datei nicht interpretiert wird?

Nimm doch mal folgenden Text schreib in so in eine Textdatei und nenne sie test.php, dann kopiere sie nach htdocs und rufe sie mit http://localhost/test.php auf.
Wenn die Messagebox kommt, dann wissen wir, daß PHP nix mit JS zu tun hat!!!!
PHP:
<html>
<head>
<title>Test Page (non Frameset ;-) )</title>
<head>
<script language="javascript">
alert ("Javascript geht!!!");
</script>
<body>
ma guggen!!
</body>
</html>
Und aus Spaß an der Übung kannst Du dann mal den kompletten Text in echo " " Anweisungen verpacken und gucken, obs dann immer noch geht.
Wenn das alles funzt, dann bist Du auf jeden Fall ein großes Stück weiter.... ;)
 
Okay, danke schonmal. Werd mich jetzt nochmal dransetzen, und das probieren.

Achso, wie würdest du das oben von mir beschriebene PHP-Script schreiben?
 
Hallo Leute!

Ich schätze das Skript is in Ordnung so, da fehlt halt noch ein Teil, falls die Datei ohne $url-Variable aufgerufen wird:

PHP:
<?PHP 
if(!isset($url)){ 
?> 

<table border="0" bgcolor="#FFFFFF">
  <tr>
    <td align="center">
      Bitte rufen Sie diese Datei nicht direkt auf !!!<br>
      <a href="javascript:history.back();">Zurück</a>
    </td>
  </tr>
</table>

<?PHP 
exit;
} 
$string = file("http://".$url); 
$string = implode("\n",$string); 
$string = htmlspecialchars($string); 
?>

Oder sowas in der Art. Hab keinen Schimmer wie die Datei dann aufgerufen wird.
 
Zurück
Oben