Leander: Wo ist der Fehler, irgendwas stimmt nicht?

Hallo,

Ich habe ein Frameset.php, es wird eine Zufallszahl ermittelt, ist diese 1, soll Design 1 geladen werden, ist diese 2, soll Design 2 geladen werden, 3 -> Design 3.
Zusätzlich soll erkannt werden, ob die Auflösung 800x600 und kleiner oder 1024 und größer ist.

In dem oberen Frame (Topframe -> Rahmen.php) wird aber nie was angezeigt, nie was übernommen...wie krieg ich das hin?
Es wird nicht mal der Titel der Homepage angezeigt, kein Text, keine Bilder, kein gar nichts.

Hier der Code von Frameset.php:

<?

mt_srand((double)microtime()*1000000);
$url = mt_rand( 1 , 3);

switch($url)
{case 1: $urlnew="frameset.php?design=1"; break;
case 2: $urlnew="frameset.php?design=2"; break;
case 3: $urlnew="frameset.php?design=3"; break;
}

print("
<HTML>
<HEAD>
<SCRIPT language="JavaScript">

strAufloesung = screen.width;

if(strAufloesung>=1024) {
document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=1024">');
}

else {document.write(' document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=800">');
};

<TITLE>TARTOSGARDH - Emotion Metal</TITLE>
<META http-equiv=Content-type content="text/html; charset=ISO-8859-1">
<meta name="robots" content="noindex">
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</HEAD>
<FRAMESET border=0 frameSpacing=0 borderColor=#000000 rows=*,446,*
frameBorder=No MARGINHEIGHT="0" MARGINWIDTH="0" LEFTMARGIN="0"
TOPMARGIN="0">
  <FRAME border=0 name=top marginWidth=0 frameSpacing=0
marginHeight=0 src="x.php" frameBorder=No
noResize scrolling=no LEFTMARGIN="0" TOPMARGIN="0" bordercolor="#FFFFFF">
  <FRAMESET border=0
frameSpacing=0 borderColor=#000000 frameBorder=No cols=*,750,* MARGINHEIGHT="0"
MARGINWIDTH="0" LEFTMARGIN="0" TOPMARGIN="0">
    <FRAME border=0 name=left
marginWidth=0 frameSpacing=0 marginHeight=0
src="x.php" frameBorder=No noResize
scrolling=no LEFTMARGIN="0" TOPMARGIN="0" bordercolor="#FFFFFF">
    <FRAMESET border=0 frameSpacing=0
borderColor=#ffffff rows=99,309,38 frameBorder=No MARGINHEIGHT="0"
MARGINWIDTH="0" LEFTMARGIN="0" TOPMARGIN="0">
      <FRAME border=0 name=navi
marginWidth=0 frameSpacing=0 marginHeight=0
src="rahmen.php" frameBorder=No noResize
scrolling=no LEFTMARGIN="0" TOPMARGIN="0">
      <frameset cols="202,*" rows="*" border="0" framespacing="0" bordercolor="#FFFFFF" frameborder="NO">
        <frame src="menue.php" noresize scrolling="NO" bordercolor="#FFFFFF" frameborder="NO">
        <frameset cols="*,13" frameborder="NO" border="0" framespacing="0">
          <FRAME border=0 name=content
marginWidth=0 frameSpacing=0 marginHeight=0
src="anfang.php" frameBorder=No noResize LEFTMARGIN="0" TOPMARGIN="0" bordercolor="#FFFFFF">
          <frame name="rightFrame" scrolling="NO" noresize src="r_space.php">
        </frameset>
      </frameset>
      <FRAME border=0 name=footer
marginWidth=0 frameSpacing=0 marginHeight=0
src="foot.php" frameBorder=No noResize
scrolling=no LEFTMARGIN="0" TOPMARGIN="0">
    </FRAMESET>
    <FRAME border=0 name=right
marginWidth=0 frameSpacing=0 marginHeight=0
src="x.php" frameBorder=No noResize
scrolling=no LEFTMARGIN="0" TOPMARGIN="0" bordercolor="#FFFFFF">
  </FRAMESET>
  <FRAME border=0 name=bottom
marginWidth=0 frameSpacing=0 marginHeight=0
src="x.php" frameBorder=No noResize
scrolling=no LEFTMARGIN="0" TOPMARGIN="0" bordercolor="#FFFFFF">
</FRAMESET>
<noframes>
</noframes>
</phpL>

----------------------

und hier rahmen.php:

(design>=1 --> egal, ob 1 2 oder 3, dass halt auf jeden Fall für Testzwecke was angezeigt wird...und meine Res is 800x600...nun müsste egal ob die Designvariable 1 2 oder 3 is was angezeigt werden, das eingebettete BIld, doch Fehlanzeige.

<?

if ($design>=1 && $res==800)
{print("
<html>
<head>
<title>TARTOSGARDH - Emotion Metal</title>
<base target="content">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="noindex">
</head>
<div id="Layer1" style="position:absolute; left:0px; top:0px; width:750px; height:99px; z-index:1; background-image: url(img/top.jpg); layer-background-image: url(img/top.jpg); border: 1px none #000000"></div>

<IMG SRC="img/top.jpg">
</body>
</html>
");
}
?>

  1. Hi,

    Zusätzlich soll erkannt werden, ob die Auflösung 800x600 und kleiner oder 1024 und größer ist.

    das grenzt an groben Unfug. Warum wird die Auflösung immer noch für relevant gehalten? Und was machst Du, wenn JavaScript deaktiviert ist?

    {case 1: $urlnew="frameset.php?design=1"; break;
    document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=1024">');

    Betrachte das, was der Client erhält. Die URL ist defekt.

    else {document.write(' document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=800">');

    Dies ist defektes JavaScript.

    <script language="JavaScript">

    Dies ist defektes HTML.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Naja, hier meine zweite Page:

      naja, meine HP is eben down, aber

      http://www.tartosgardh.at/design1/frameset.htm
      für 800x600

      oder

      http://www.tartosgardh.at/design1/frameset.html

      für 1024x768 und mehr

      hätte ich nur eine für 1024, wäre es auf meinem Schirm zu groß...da ich 800x600 habe...

      hätte ich nur 800x600, wäre die Hp halt so ein kleines Feld auf größeren Monitoren ,was ic hnicht mag, da ich sie möglichst groß will.

      is aber nur der Test. Die normale Page hatte ich lange laufen, nun will ich eben mehrere Designs haben.

      oder

      http://www.timelesse-motion.at.tt/

      die erste ändere ich grad, ich will ein Script einbauen, dass per Zufall eines von mehreren Designs automatisch lädt.

      Und wieso für verschiedene Auflösungen? Ich hab 800x600...viele 1024x... und manche noch mehr. Wenn ich auf 1024 umschalte und auf gmx.at gehe oder sonstwo, hängt die Page im linken oberen Eck und so viel Platz daneben ist frei.

      Ich hingegen will die Homepage in ein Bild einbinden, mehrere Frames basteln mehrere Jpgs zu einem großen Bild, es schaut aus, als wäre es ein einziges großes Bild. Und die Homepage soll den Screen AUSFÜLLEN und nicht klein wo dorthängen. Die 800x600 is auf 1024 zu klein, also mach ich eine zweite Version mit größeren Graphiken. Und rundheerum einen Frame, der zumindest die Homepage zentriert, wo Platz frei ist und nicht so ein kleines etwas in die linke Ecke baut. Am liebsten hätte ich auf auf jeder Auflösung den ganzen Monitor ausgefüllt, wie bei einem Computerspiel, es ist mir die Bildhaftigkeit sehr wichtig.

      Und wenn jemand nicht Javascript an hat? Naja, nicht mien problem, die Mehrheit hat den IE, eine neue Version, wer mit Netscape 3 rumgurkt, ist selber Schuld. Ich bin keni Programmierer, kenne mich nicht wirklich aus, nur HTML-Grundzüge und ich habe alles andere als eine kommerzielle Seite.

      Viele Seiten gehen mit Javascript nicht...wenn jemand Javascript ausmacht, naja, nicht mein Problem.

      Ich arbeite sehr kompliziert mit CSS und zwei Versionen im Menü für zwei Auflösungen und will nun eben einfach ein Script, das sowohl Auflösung als auch Design kann.

      Hi,

      Zusätzlich soll erkannt werden, ob die Auflösung 800x600 und kleiner oder 1024 und größer ist.

      das grenzt an groben Unfug. Warum wird die Auflösung immer noch für relevant gehalten? Und was machst Du, wenn JavaScript deaktiviert ist?

      {case 1: $urlnew="frameset.php?design=1"; break;
      document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=1024">');

      Betrachte das, was der Client erhält. Die URL ist defekt.

      else {document.write(' document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=800">');

      Dies ist defektes JavaScript.

      <script language="JavaScript">

      Dies ist defektes HTML.

      Cheatah

  2. Hallo Leander,

    Zusätzlich soll erkannt werden, ob die Auflösung 800x600 und kleiner oder 1024 und größer ist.

    für was? die Auflösung ist völlig irrelevant - lass das Auflösungsgetue weg.

    mt_srand((double)microtime()*1000000);
    $url = mt_rand( 1 , 3);

    switch($url)
    {case 1: $urlnew="frameset.php?design=1"; break;
    case 2: $urlnew="frameset.php?design=2"; break;
    case 3: $urlnew="frameset.php?design=3"; break;
    }

    warum so umständlich? ein einfaches
     mt_srand(...);
     $urlnew = 'frameset.php?design='.mt_rand(1,3);
    tut es völlig

    print("
    <HTML>
    <HEAD>

    beende den php-Bereich besser und machen in nur auf, wenn du wirklich eine Variable ausgeben willst o.ä. - sonst wirst du mit der Maskiererei nicht glücklich.

    <SCRIPT language="JavaScript">

    hier fehlt das type-Attribut.

    strAufloesung = screen.width;

    schau bitte ins archiv, warum screen.width sinnlos ist.

    else {document.write(' document.write('<meta http-equiv="refresh" content="0;URL=$urlnew?res=800">');

    was wird denn das wenn es fertig ist? warum zweimal 'document.write' inneinander?

    function MM_reloadPage(init) {  //reloads the window if Nav4 resized

    wirf die Macromedia-Funktion raus.

    <FRAMESET border=0 frameSpacing=0 borderColor=#000000 rows=*,446,*

    ich weiger mich diesen Codewust genauer anzuschauen ...

    </noframes>
    </phpL>

    was ist denn das?

    if ($design>=1 && $res==800)

    möchtest du hier vielleicht auf die get-Parameter zugreifen - dann solltest du es mit $_GET['design'] bzw. $_GET['res'] versuchen - allerdings weiß ich nicht, wo die herkommen sollen - die Seite rahmen.php wird nämlich (soweit ich gesehen habe) überhaupt nicht mit irgendwelchen Parametern aufgerufen.

    <div id="Layer1" style="[...] layer-background-image: url(img/top.jpg); [...]"></div>

    layer-background-image gibt es nicht.

    <IMG SRC="img/top.jpg">

    hier fehlt das alt-Attribut.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|