php und window.open

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
justaclown
Beiträge: 175
Registriert: 01.08.2005 19:50:34

php und window.open

Beitrag von justaclown » 02.10.2005 18:19:39

heyhow, ich habe ein gaaanz einfaches script einer ..ehm "fotoshow" was einfach nur thumbs aus einem ordner ausliest ,anzeigt und dann das große bild von eimem anderem server öffnen soll.. das geht so weit auch, allerdings will ich das sich das große Bild in einem angepassten fenster läd, also irgendwie mit

Code: Alles auswählen

<a href="link.html" target="fenster" onclick="window.open('link.html',
'fenster', 'width=600,height=450,status,resizable,scrollbars')">THUMB</a>
mein jetztiger code ist dieser:

Code: Alles auswählen

<?php
$dh = opendir("bilder");
while($datei = readdir($dh)) 
{
if($datei !== "*" &&
$datei !== "." &&
$datei !== "..")
{
echo '<a href="http://SERVER2/'.$datei.'" target="_blank"><img src="bilder/'.$datei.'" border="0" alt=""></a>&nbsp;&nbsp;';
}
} 
?>
könnte mir da jemand helfen das so umzubauen, das sich das bild in sonem angepassten fenster öffnet? weil wenn ich das oben einfach in den php code schreibe geht die variabel net mehr....
(php anfänger)

wäre über hilfe sehr dankbar.

Lg,
Fabian

EDIT: quote durch code ersetzt..laesst sich besser lesen - blackm

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 02.10.2005 23:25:52

hi,

was genau meinst du damit das dann die variable nicht mehr geht ?`könntest du den code dann mal posten ? ich verstehe das ganze problem noch net so ganz, etwas mehr beschreibung wäre gut..
mfg
mauser

Benutzeravatar
justaclown
Beiträge: 175
Registriert: 01.08.2005 19:50:34

Beitrag von justaclown » 03.10.2005 00:36:49

Naja ich hätte gerne sowas ähnliches:

Code: Alles auswählen

<?php
$dh = opendir("bilder");
while($datei = readdir($dh))
{
if($datei !== "*" &&
$datei !== "." &&
$datei !== "..")
{
echo '<a href="http://SERVER2/'.$datei.'" target="fenster" onclick="window.open('http://SERVER2/'.$datei.'',
'fenster', 'width=600,height=450,status,resizable,scrollbars')"><img src="bilder/'.$datei.'" border="0" alt=""></a>&nbsp;&nbsp;';
}
}
?>
aber da wird die variable '.$datei. einfach ignoriert oder so.. wie gesagt ich kann leider fast kaum php ;(...

Lg,
Fabian

EDIT: we have the fuckin' CODE BB-Tag! blackm

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 03.10.2005 01:57:06

justaclown hat geschrieben:if($datei !== "*" &&
Das muss != heißen!

( != : nicht gleich; == : gleich )

Wahrscheinlich liegt es daran, der Rest sieht ok aus. Du solltest dir nur schnellstmöglichst angewöhnen, Code einzurücken. Sonst kannst du deinen eigenen Code später nicht mehr lesen. Glaube mir, ich weiss, wovon ich spreche ;)

Benutzeravatar
justaclown
Beiträge: 175
Registriert: 01.08.2005 19:50:34

Beitrag von justaclown » 03.10.2005 10:37:24

Nein also daran lag es leider nicht;(...
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in bla/bla//bilder.php on line 10
der code:

Code: Alles auswählen

<?php
$dh = opendir("bilder");
while($datei = readdir($dh))
{
if($datei != "*" &&
$datei !== "." &&
$datei !== "..")
{
echo '<a href="http://SERVER2/'.$datei.'" target="fenster" onclick="window.open('http://SERVER2/'.$datei.'',
'fenster', 'width=600,height=450,status,resizable,scrollbars')"><img src="bilder/'.$datei.'" border="0" alt=""></a>&nbsp;&nbsp;';
}
}
?>
was gneau heist das jetzt? wo muss son ";" hin?

Line 10 ist diese:

Code: Alles auswählen

echo '<a href="http://SERVER2/'.$datei.'" target="fenster" onclick="window.open('http://SERVER2/'.$datei.'',
'fenster', 'width=600,height=450,status,resizable,scrollbars')">

Lg,
Fabian

Ps: sorry wegen dem code-tag blackm.

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 03.10.2005 11:57:19

hi fabian,

du solltest wenn du skripte schreibst einen editor mit syntaxhighlighting wie kate benutzen.
dann hättest du sofort gesehen, das mit deinen Quotes (den einfachen und doppelten anführungszeichen) etwas nicht stimmt. wenn du situationen hast, in denen es dir zu kompliziert vorkommt, die anführungszeichen richtig zu setzen, dann nimm einfach ein paar variablen und pack da teile des grossen strings rein. ich hab das mal kurz für dein beispiel gemacht:

Code: Alles auswählen

$server_url="http://SERVER2/".$datei;

$on_click_action="window.open('http://SERVER2/".$datei."','fenster','width=600,height=450,status,resizable,scrollbars')";

echo "<a href=$server_url target='fenster' onclick=$on_click_action><img src=bilder/'.$datei.' border=\"0\"></a>&nbsp;&nbsp;"; 
Tip: wenn du einen backslash "\" vor ein zeichen stellst, kannst du damit die bedeutung des zeichens ausschalten. so zb.

Code: Alles auswählen

echo " \"hallo\" ";
@joghurt: evtl. ist !== die syntaktisch korrekte gegenform zu "===", leider hab ich dazu aber auch nix im netz gefunden.
mfg
mauser

Benutzeravatar
justaclown
Beiträge: 175
Registriert: 01.08.2005 19:50:34

Beitrag von justaclown » 03.10.2005 12:15:15

Hey vielen dank Mauser;)... wirklich lieb.
Jetzt funktioniert alles wunderbar, aller dings muss es

Code: Alles auswählen

<img src=bilder/".$datei." border=\"0\"></a>
heisen;)

Ich were ab jetzt Kate benutzen...

Also danke nochmal,
Lg,
Fabian

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 03.10.2005 16:58:22

Du hast immernoch zweimal !== stehen... Aber vielliecht ist das wirklich eine seltsame PHP-Konstruktion. === ist mir auch nicht bekannt; hab zuletzt vor 5 Jahren mit PHP gearbeitet.

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 03.10.2005 17:07:44

hi,

"===" ist der operator für den strikten vergleich, der auch typen berücksichtigt.
"==" achtet nicht auf typen, 1-1 == false und soweiter, aber (1-1===false) ist falsch, da 1-1 einen integer liefert und false ein boolean ist.
mfg
mauser

Antworten