Link in altem Fenster öffnen + Fenster schließen

PhoenixDH

Erfahrenes Mitglied
Ich hab folgendes Problem, und zwar wenn ich einen Link klicke öffnet sich ein neues Fenster in welchem ich Auswahlen treffen kann. Diese Auswahlen sollen sich aber net in dem aktuellen, sondern in dem alten Fenster öffnen und gleichzeitig das letzte Fenster geschlossen werden, ist das möglich ?

Code:
$sendlink = build_link('pm.php?action=new&recipient='.$row['username'].'');
<a href="'.$sendlink.'">PM senden</a>

Das obere erstellt mir den Link und über den unteren wird er aufgerufen, und mit Klick darauf soll die neue Seite im alten Fenster geöffnet werden und dieses soll sich schließen !
 
Ist zwar kein PHP, aber mit Javascript wirst du das sicherlich hinbekommen ;).

Code:
<script language="Javascript">
opener.location.href="LinkzurDatei";
window.close();
</script>
 
Das geht prinzipiell nicht mit PHP und hat somit auch im PHP-Forum nichts verloren :)

@PhoenixDH,

es gibt z.B. entweder Tutorials oder Selfhtml.de. Dort findest du genau die Antwort auf deine Frage inkl. entsprechender Beispiele.
 
Und wo gehört es dann hin ?
Es gibt bei sowas so vieles wo es hingehören könnte, aber wenn man halt ne so viel Ahnung hat weiß man halt net wo hin.

Und dann frage ich mich immer wieder nach dem Sinn eines Forums, wenn man eh net geholfen bekommt.
 
Zur zeit werde ich aus deiner Frage noch nicht schlau, weil sie PHP Bestandteile hat.

Erkläre bitte dein Vorhaben etwas genauer und lieferew soweit wie Möglich Code Bestandteile.

Danke.
 
also er hat einen Link aus einem Script.php, das aber wiederum HTML bestandteile hat. In diesem HTML-Bestandteil ist nun ein Link welchen er per Klick im gleichen Fenster ausführen lassen will in welchem er zuvor geklickt hat ;)

Wenn nun die Ausgabe über den Browser erfolgt, möchte er einen Link welcher das schließen des Fensters ermöglicht, was wiederum Java-Script entspricht.

Selbst wenn er ein iframe-Fenster öffnen will im gleichen Browserfenster, so ist es immer noch HTML und Java-Script.
 
Also:

Von der Hauptseite öffne ich ein POPUP das meine Kontakte in einem Forum enthält. In diesem POPUP gibt es dann die Option bei jedem Eingetragenen eine PM zu versenden. Jetzt hätte ich gerne, das wenn man in diesem POPUP auf PM senden klickt, das sich das POPUP schließt und sich der Link in dem Fenster öffnet von dem das POPUP geöffnet wurde.

Der Code des Links:

Code:
<a href="'.$sendlink.'">PM senden</a>

Das POPUP ist eine PHP Seite mit Variablen ! Dazu gibt es kein Template, das Template ist in die PHP Datei eingebunden.
Geöffnet wird dieses POPUP durch ein HTML Template.

Der komplette Code:

Code:
<?php

if ( $g_user['userid'] == 0 )
{
		buddy_messages('Error', 'Gäste können das Adressbuch nicht nutzen');
		exit;
}

if ( !isset($_GET['act']) ) {
	$act = "adbook"; 
} else {
	$act = $_GET['act'];
}

switch($act) {
	case 'add':
		addbuddy(intval($_GET['buddy']));
		break;
	case 'del':
		deletebuddy(intval($_GET['buddy']));
		break;
	case 'adbook':
		index();
		break;
	default:
		index();
		break;
}

function index() {
	global $pref, $g_user;
	
	$search = mysql_query("SELECT b.id, b.buddyid, u.username FROM ".$pref."buddys b LEFT JOIN ".$pref."user u ON (b.buddyid = u.userid) WHERE b.memberid='".$g_user['userid']."' order by u.username ASC") OR DIE (mysql_error());
	if (mysql_num_rows($search) >0 ) {
		while ( $result = mysql_fetch_array($search) ) {
			$users[$result['buddyid'] ] = array('buddyid' => $result['buddyid'], 'username' => $result['username']);
		}
		buddy_overview('Adressbuch', $users);
	} else {
			buddy_messages('Error', 'Keine User in Deinem Adressbuch');
	}
}

function addbuddy($id) {
	global $pref, $g_user;
	
	if ( !isset($id) )
	{
		buddy_messages('Error', 'Keinen User gewählt');
	}
	else if ( $id == 0 )
	{
		buddy_messages('Error', 'Gäste können nicht ins Adressbuch hinzugefügt werden');
	}
	else {
	
		if ( $id == $g_user['userid'] ) {
			buddy_messages('Error', 'Du kannst Dich nicht selbst in Dein Adressbuch hinzufügen');
		} else {
			$check = mysql_query("SELECT buddyid FROM ".$pref."buddys WHERE buddyid='".$id."' AND memberid='".$g_user['userid']."'") OR DIE (mysql_error());
			if ( mysql_num_rows($check) > 0 ) {
				buddy_messages('Error', 'User ist schon in Deinem Adressbuch');
			} else {
				mysql_query("INSERT INTO ".$pref."buddys (buddyid,memberid) VALUES ('".$id."', '".$g_user['userid']."') ") OR DIE (mysql_error());
				buddy_messages('Ausgeführt', 'Der User wurde Deinem Adressbuch hinzugefügt');
			}
		}
	}
}

function deletebuddy($id) {
	global $pref, $g_user;
	
	if ( !isset($id) )
	{
		buddy_messages('Error', 'Keinen User gewählt');
	}
	
	
		mysql_query("DELETE FROM ".$pref."buddys WHERE buddyid='".$id."' AND memberid='".$g_user['userid']."' ") OR DIE (mysql_error());
		buddy_messages('Ausgeführt', 'Der User wurde aus Deinem Adressbuch gelöscht');
}

function buddy_messages($title,$msg) {
	global $style;
	
	print '
	<link rel="stylesheet" type="text/css" href="templates/css/'.$style['styleid'].'.css">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" class="border-col">
  <tr>
    <td>
      <table width="100%" border="0" cellspacing="1" cellpadding="3">
        <tr class="color4"> 
          <td>'.$style["smallfont"].'<span style="color:'.$style["col_he_fo_font"].'"><strong>'.$title.'</strong></span>'.$style["smallfontend"].'</td>
        </tr>
        <tr class="cellB"> 
          <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="22">
              <tr>
                <td>'.$style['stdfont'].''.$msg.''.$style['stdfontend'].'</td>
              </tr>
            </table>
          </td>
        </tr>
        <tr class="color4">
          <td align="center">
            '.$style['smallfont'].'<strong><span style="color:'.$style['col_he_fo_font'].'"><a href="javascript:window.close()"><font color="#FFFFFF">Schliesse dieses Fenster</font></a></span></strong>'.$style['smallfontend'].'
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
';
}

function buddy_overview($title,$users=array()) {
	global $style;

	print '
	<link rel="stylesheet" type="text/css" href="templates/css/'.$style['styleid'].'.css">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" class="border-col">
  <tr>
    <td>
      <table width="100%" border="0" cellspacing="1" cellpadding="3">
        <tr class="color4"> 
          <td>'.$style["smallfont"].'<span style="color:'.$style["col_he_fo_font"].'"><strong>'.$title.'</strong></span>'.$style["smallfontend"].'</td>
        </tr>
        <tr class="cellB"> 
          <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="22">
              <tr>
                <td>'.$style['stdfont'].'';
                

               	foreach($users as $row){
               		$dellink = build_link('buddy.php?act=del&buddy='.$row['buddyid'].'');
               		$sendlink = build_link('pm.php?action=new&recipient='.$row['username'].'');
			print 'Username: <b>'.$row['username'].'</b> | <a href="'.$sendlink.'">PM senden</a> | <a href="'.$dellink.'">Aus Adressbuch löschen</a><br />';
		}
                
                print '
                '.$style['stdfontend'].'</td>
              </tr>
            </table>
          </td>
        </tr>
        <tr class="color4">
          <td align="center">
            '.$style['smallfont'].'<strong><span style="color:'.$style['col_he_fo_font'].'"><a href="javascript:window.close()"><font color="#FFFFFF">Schliesse dieses Fenster</font></a></span></strong>'.$style['smallfontend'].'
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
';
}

?>
 
Ganz ehrlich?

Dann verstehe ich das Problem nicht, weil Shorty dir die Lösung schon gepostet hat!

Sollte so gehen, wenn deine PHP Links mitspielen:

Im Head:

Code:
<script language="Javascript">
function uebergabe(ziel)
opener.location.href= ziel;
window.close();
</script>


Im Body (irgendwo , wo du es brauchst):
Code:
<a href="#" onclick="uebergabe('build_link('pm.php?action=new&recipient='.$row['username'].'');)');">Link</a>
Ob der PHP Link jetzt der korrekte ist weiß ich nicht weil ich kann fast kein PHP!

LG Thomas

N.S.: Nach JavaScript verschoben!
 

Neue Beiträge

Zurück