Page 1 of 1

Kann mir bitte wer weiterhelfen? (Übergabe einer Variable)

Posted: Fri 1. Jul 2005, 16:57
by Quiz
Hallo Forum,

Ich wäre wirklich unerhört und unermesslich dankbar, wenn sich jemand meinem Problem kurz annehmen könnte!

Ich bemühe mich so gut es irgendwie geht mit PHP zu recht zu kommen. Ich hab das phpWCMS auf meiner Webseite eingebaut und bin sehr zufrieden damit. Ich hab mir mittlrweilen ein paar eigene Scripts geschrieben, die mir Infos aus meinem phpBB-Forum auslesen und mittels phpWCMS darstellen. So zum Beispiel hier: http://www.corvina.ch/wcms/index.php?id=2,0,0,1,0,0
Soweit so gut, denn das funktioniert alles bestens!

Heute habe ich de ganzen Tag damit verbracht ein Skript zu schreiben, welches mir die Photos aus der Forums-Gallerie in ähnlicher Art und Weise darstellt. Auch hier klappt alles gut und das Skript funktioniert eigenständig auch so wie ich das will. Nur wenn ich es in phpWCMS als Ex. Content einbaue, dann wird die Variable nicht übernommen.

Dh. In der Übersicht (die erscheint, wenn keine Kategorie gewählt ist), klicke ich auf das gewünschte Album und die URL ändert sich auch entsprechend. Dazu habe ich folgende Code-zeile geschrieben:

Code: Select all

$album = ("<a href=\"http://www.corvina.ch/wcms/index.php?id=7,0,0,1,0,0&albumid=$album_id\">$titel_album</a><br>");
Jetzt wird wieder die selbe Seite geöffnet. Das Skript stellt normaler weise fest, dass eine Albumid übernommen wurde und sollte nun statt der Übersicht die Photos der entsprechenden kategorie anzeigen. Nur erkennt das Skript einfach die Tatsache nicht, dass in der URL noch eine weitere Variable steckt. Dies funktioniert jedoch wie bereits gesagt, ausserhalb von phpWCMS einwandfrei!

Ich hoffe es kann mir jemand dabei helfen und ich (als PHP-Banause) hab mich nicht umsonst den ganzen Tag abgemüht um ein Skript zu schrieben, welches ich dann doch nicht verwenden kann...

mfg
Quiz aus der Schweiz ;-)

PS: Hätte noch ne zweite Frage:

Eine der Codezilen lautet wie folgt:

Code: Select all

$foto = ("<a href=\"javascript:;\" onclick=\"MM_openBrWindow('../forum/album_pic.php?pic_id=$bild','Picture','scrollbars=no','$breite','$hoehe','true')\" title=\"Bild vergrössern\" alt=\"Bild vergrössern\"><img src=\"http://www.corvina.ch/forum/album_thumbnail.php?pic_id=$bild\" alt=\"$bild_title\"></a><br><br>");
Ausserhalb von phpWCMS kann ich dann aufs Bild klicken und der Link "javascript:;" wird ausgeführt. Sobald ich das ins phpWCMS integriere fügt es dem Link immer das Verzeichnis hinzu und das ganze lautet jeweils plötzlich "http://www.corvina.ch/wcms/javascript:;" . Das Script wird zwar ausgeführt, aber die Hauptseite versucht dann diese URL zu öffnen (welche selbstverständlich nicht existiert!

Posted: Fri 1. Jul 2005, 17:37
by brans
zum zweiten Code die Frage, wieso steht da im href genau javascript:; dieser Text?

ersetze den doch mal einfach durch eine # bzw. ein / , wodurch dein Linkproblem gelöst sein sollte.

Für die Übergabe der Variablen lässt sich sagen, dass dies mit phpwcms meines Wissen nach nur über sessions möglich ist. Da ich aber auch kein PHP-Genie bin, kann ich dir ehrlich gesagt nicht beantworten, ob man Session-Variablen auch an externe Scripte übergeben kann. Logischerweise sollte dies möglich sein, sofern du diese als GLOBAL definierst.

Posted: Fri 1. Jul 2005, 18:22
by Quiz
Hi brans,

Erst mal danke. Viel gebracht hat's mir leider noch nicht.

Zur 2. Frage:
Das Linkproblem konnte ich teilweise lösen. Wenn man jetzt unter folgendem Link schaut, sieht man wie es aussieht: http://www.corvina.ch/wcms/index.php?id=7,0,0,1,0,0 Soblad man auf's einf Foto klickt wird die Hauptseite neu geladen. Dies möchte ich eigentlich vermeiden. Die entsprechende Zeile lautet mittlerweilen:

Code: Select all

$foto = ("<a href=\"\" onclick=\"MM_openBrWindow('../forum/album_pic.php?pic_id=$bild','Picture','scrollbars=no','$breite','$hoehe','true')\" title=\"Bild vergrössern\" alt=\"Bild vergrössern\"><img src=\"http://www.corvina.ch/forum/album_thumbnail.php?pic_id=$bild\" alt=\"$bild_title\"></a><br><br>");
Hier kann man sich z.B: anschauen wie es sein sollte: http://www.corvina.ch/wcms/content/page ... albumid=68

Zur Hauptfrage:


Ich hab das funktionierende Script zusätzlich mal ausserhalb von phpWCMS eingestellt, damit man sieht wie es funktionieren sollte:
http://www.corvina.ch/wcms/content/pages/test.php

Ein freundlicher Helfer meinte, ich solle einmal das Script komplett posten, damit mir geholfen werden könne. Dies tue ich natürlich gerne. Nur 2 Punkte:
- Ich hab wirklich nicht vil Ahnung von php als bitte nicht zu fest lachen ;-)
- Falls ich eine grosse Sicherheitslücke eingebaut habe, wäre das auch recht doof...

Nichts desto trotz hier der Code:

Code: Select all

<head><script language="javascript">
function MM_openBrWindow(theURL,winName,features, myWidth, myHeight, isCenter) { if(window.screen)if(isCenter)if(isCenter=="true"){ var myLeft = (screen.width-myWidth)/2; var myTop = (screen.height-myHeight)/2; features+=(features!='')?',':''; features+=',left='+myLeft+',top='+myTop; } window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);}
function openBrWindow(theURL,winName,features) { mypop = window.open(theURL,winName,features); mypop.focus();}  //fixed focus bug ..gruss gc 
</script>
</head>

<br>
<?
  
include("./../connectxyz.php");

#---- Hier wird ?albumid=XY aus der URL ausgelesen

$kategorie = empty($_POST['albumid']) ? $_GET['albumid'] : $_POST['albumid'];
$null = "";

#---- Wenn keine albumid in der URL steht, soll die Übersicht generiert werden

if($kategorie == $null)
    {

	  #Kategorien sollen gesucht werden
  

$abfrage = "SELECT * FROM phpbb_album_cat WHERE cat_parent=20 ORDER BY cat_order";
$ergebnis = mysql_query($abfrage);
$number = MYSQL_NUMROWS($ergebnis);
$number = $number - 1;
$limit = 0;

# Liste mit allen Kategorien soll angezeigt werden

while($number > $limit)

{

$titel_album = mysql_result($ergebnis,$number,"cat_title");
$titel_album = stripslashes($titel_album);
$album_id = mysql_result($ergebnis,$number,"cat_id");
$album_id = stripslashes($album_id);

$album = ("<a href=\"http://www.corvina.ch/wcms/index.php?id=7,0,0,1,0,0&albumid=$album_id\">$titel_album</a><br>");

echo $album;
$number--;

}

}

#---- Wenn eine albumid in der URL angegeben ist, soll anstelle der Albenliste die Photos der entsprechenden Kategorie angezeigt werden

else

{

	  #PHOTO-UEBERSICHT


$spalte = 1;

# Titel des Albums suchen und anzeigen

$babfrage = "SELECT * FROM phpbb_album_cat WHERE cat_id=$kategorie";
$bergebnis = mysql_query($babfrage);
$bnumber = MYSQL_NUMROWS($bergebnis);

$dertitel = mysql_result($bergebnis,0,"cat_title");
$dertitel = stripslashes($dertitel);

echo "<span class=\"articleHead\">$dertitel</span>";

# Tabelle mit 2 Spalten öffnen, die danach mit Bildern gefüllt werden soll

?> <table width="300" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <th scope="col">&nbsp;</th>
    <th scope="col">&nbsp;</th>
  </tr>
<?

# Bilder der Kategorie suchen

$aabfrage = "SELECT * FROM phpbb_album WHERE pic_cat_id=$kategorie";
$aergebnis = mysql_query($aabfrage);
$anumber = MYSQL_NUMROWS($aergebnis);
$anumber = $anumber - 1;
$alimit = 0;

while($anumber > $alimit)

{

$bild = mysql_result($aergebnis,$anumber,"pic_id");
$bild = stripslashes($bild);
$bild_title = mysql_result($aergebnis,$anumber,"pic_title");
$bild_title = stripslashes($bild_title);

#---- Grösse ausfindig machen

$size=getimagesize("http://www.corvina.ch/forum/album_pic.php?pic_id=$bild");
$breite=$size[0] + 16;
$hoehe=$size[1] + 16;

# Foto-Variable bilden

$foto = ("<a href=\"\" onclick=\"MM_openBrWindow('../forum/album_pic.php?pic_id=$bild','Picture','scrollbars=no','$breite','$hoehe','true')\" title=\"Bild vergrössern\" alt=\"Bild vergrössern\"><img src=\"http://www.corvina.ch/forum/album_thumbnail.php?pic_id=$bild\" alt=\"$bild_title\"></a><br><br>");

# Tabelle weiter erzeugen

  if($spalte == 1)
    {
	echo "<tr>
    <th scope=\"row\">";
    echo $foto;
	echo "</th>";
	$spalte = 2;
    }
  else
    {
	echo "<td>";
    echo $foto;
	echo "</td>
  </tr>";
	$spalte = 1;
    }

$anumber--;

}
	
}
  # Tabelle beenden
  
  ?>
  
  </tr>
  </table>

 

Posted: Wed 6. Jul 2005, 14:28
by jobako
Hallo Quiz,

ich hab genau das gleiche Problem. :(
Bist du mittlerweilen schon weitergekommen?

Viele Grüße!

jobako