variable weitergabe aus popup zurück zu 'basisseite'

Alles, was PHP betrifft, kann hier besprochen werden.

variable weitergabe aus popup zurück zu 'basisseite'

Postby Feliciano » 29. April 2004 17:57

aaaalso (wahrscheinlich schon 100mal gestellt. hab aber nix beim suchen gefunden ;)


folgendes:

habe eine startseite mit sagenwirmal:
echo $blabla



im popup hab ich n textfeld: text wird als $blabla gespeichert.

wie bekomm ich jetzt $blabla zurück auf die startseite ??
das popup soll sich beim speichern der variable (bzw. des txtes schließen)
und gleichzeitig auf der startseite geschrieben werden .

*haarerauf*
:-/
Feliciano
 
Posts: 12
Joined: 31. March 2004 06:48
Location: Im Nirvana Südl. von München

Postby Stefan » 29. April 2004 20:16

Versuchs mal damit
* http://www.dcljs.de/faq/antwort.php?Ant ... er_refer10

Du öffnest ein neues Fenster, übergibts aus dem den Wert von $blabla per JS zurück an eine Funktion im opener(Startseite) und kannst dann diesen per JS direkt irgendwo hinzimmern (document.getElemetById().innerHTML= [übergebener Wert]).

Willst Du mit der Variablen weiterarbeiten, könntest Du diese noch im geöffneten Fenster nach abschicken in die Sessiondatei speichern. Damit hättest Du die Ausgabe des Wertes sofort sichbar und beim nächsten aktuallisieren oder weiterklicken stünde der Wert im SessionArray zur Verfügung. Oder Du veranlasst ein reload bzw. neuladen der Startseite mit einer GET Übergabe des besagten Wertes.

* de.comp.lang.javascript
* http://groups.google.de/groups?hl=de&lr ... avascriptt
* http://selfhtml.teamone.de/javascript/o ... n.htm#href
* http://selfhtml.teamone.de/javascript/o ... window.htm

Viel Erfolg!
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby Feliciano » 04. May 2004 15:26

?? hmm irgendwie krieg ich das nicht ganz hin...

der popup läd zwar seine opener seite neu, aber in einem neuen browser. popup schließt sich auch nicht :(

habe heute abschlussprüfung geschrieben und daher nicht viel zeit gehabt, bisher mich dahinter zu knien ;)


kannst du mir das nochmal im ungefähren grob erklären? (aufbau von loaderseite & von banner)
Feliciano
 
Posts: 12
Joined: 31. March 2004 06:48
Location: Im Nirvana Südl. von München

Postby Stefan » 05. May 2004 00:16

Als Anreiz....
##### seite.php #####
Code: Select all
<?php
  session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <title>opener</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--

/**
 * Zeigt den übergebenen Wert in einen HTML Element an.
 */
function puWertZeigen(element,puWert)
{
  // Ersetzte Zeilenumbrüche durch <br>
  // Du kannst als Ausgabeelement natürlich auch
  // <pre id="puZeigen"> wählen, und das mit css formatieren
 
  var sm = /\n/g;                          // Suchmuster für alle("g") "\n" die vorhanden sind.
  var at = puWert.replace(sm,"<br>");      // Ausgabetext(at) = ersetze Suchmuster(sm) durch "<br>"
 
 
  el = document.getElementById(element);
  if(el)
    el.innerHTML = at;
}


function oeffnen(Datei,FensterName)
{
  neues_Fenster = window.open(Datei,FensterName,'height=200,width=500');
  return false;
}

//-->
</script>
 
</head>

<body>

<br>
<a href="#" onclick="return oeffnen('popup.php','puFenster');"> popup</a>
<br>


Hier sollte der Text erscheinen, der im Popup eingegeben wurde.<br>
<div id="puZeigen" style="font:12px arial; padding:10px;"></div>

<br>

<p>
  Nach dem sich das Fenster geschlossen ist, müssten die Daten auch in der<br>
  Session gepeichert sein. Nach dem aktualisieren der Seite müssten die dann hier<br>
  unten stehen (nl2br formatiert):
  <br>
<?php
  if(isset($_SESSION['puWert']))
    echo "Sessiondaten: (nl2br) ". nl2br($_SESSION['puWert']);
?>
</p>
</body>
</html>


##### popup.php #####
Code: Select all
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <title>popup</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript">
<?php
// Schliesse das Fenster, wenn Daten in der Sessiondatei gespeichert
if(isset($_POST['puWert']))
{
  $_SESSION['puWert'] = $_POST['puWert'];
  echo "self.close();";
}
?>

function pu2opener()
{
 
  var Wert = document.puform['puWert'].value
  self.opener.puWertZeigen('puZeigen',Wert); // rufe die Funktion im Opener auf
  //var f =
}
</script>
</head>

<body>
<form name="puform" action="<?=$_SERVER['PHP_SELF']?>" method="POST">
  <textarea name="puWert" cols="30" rows="10"></textarea>
  &nbsp;
  <input type="submit" name="senden" onclick="pu2opener();document.forms['puform'].submit();">
</form>
</body>
</html>
..... aber auf keinem Fall so einsetzen und schon garnicht wenn "unbekannte" das benutzen sollen. Schau Dir die Links an, die ich oben schon beschrieben habe.

gruß
Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby Feliciano » 12. May 2004 08:30

wunderbar !

vielen dank erstmal.

aber an einer stelle häng ich noch.

der inhalt von dem popup wird wunderbar dargestellt mit:

<div id="puZeigen"</div>

problem ist aber, ich möchte diesen inhalt in einer php-variable speichern...

$test = '<div id="puZeigen"</div>'
echo $test;

hat nicht ganz funktioniert *gg*

wie kann ich das lösen?
Feliciano
 
Posts: 12
Joined: 31. March 2004 06:48
Location: Im Nirvana Südl. von München

Postby Stefan » 12. May 2004 09:13

Während die Seite im Brauser zu sehen ist, kann man keine Werte an PHP übergeben oder besser zuweisen. Übrigens ist der im pu eingegebene Wert nach abschicken schon an PHP übergeben worden, den vor dem schliessen des popups wurde der Wert in die Session gespeichert. Mach mal ein reload der openerseite, dann wirst Du sehen, das die Eingaben noch da sind. Nur halt im der Session. Wenn Du die da raus haben willst, kannst Du dies mit $test = $_SESSION['puWert']; lösen. Oder wenn du die Eingabe sofort in $test speichern willst halt doch mit reload der opener Seite samt GET Übergabe mit dem Wert.

Aber bitte vorsichtig, Plausibilität der Eingabe prüfen bevor die so unbedarf, wie in dem Beispiel, einfach übernommen wird. Schaffe Dir noch ein Abbruchkriterium.

Viel Erfolg!
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz


Return to PHP

Who is online

Users browsing this forum: No registered users and 58 guests