PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Newsscript macht Layout kaputt (nur IE)


R300
2004-11-24, 23:13:21
Hallo
Ich habe mal wieder ein Problem mit meiner Seite. Und zwar macht ein Newsscript im IE das Layout kaputt in Firefox aber nicht.
Kennt jemand ein workaround dafür?

Ach ja und der Abstand des Menü rechts wird von Firefox vom Rand des Fensters gemessen vom IE aber vom Scrollbalken. Wie kann ich das ändern, sodass es auf beiden gleich ist?

http://joker1.jo.funpic.de/homepage/index.php

CSS: http://joker1.jo.funpic.de/homepage/images/style.css (Link in Browser kopieren)

jinroh
2004-11-25, 12:30:16
ne frage:

warum wird die Seite so zusammen gebaut:


1. <div id="inhalt"> --> News

2. <div id="links">

3. <div id="rechts">

Definiere dir nochmal ne div class für den news Part--<div id="inhalt">und hiernach setzten...
vielleicht hilft das ja.

R300
2004-11-25, 13:23:54
Ich habe den Fehler gefunden. Es liegt am php Script.


//Design:
$headcolor = "#283a60"; //Farbe der Headline
$width = "80%"; //Breite der Tabelle zur Ausgabe der News, entweder in % oder in px (ohne px! bsp. 800 NICHT 800px)


Damit es mit Firefox und IE gleich aussieht und das Layout nicht kaputt geht, muss bei Firefox die Angabe 80% und bei IE 50% stehen.

Kann da jemand eine Abfrage des Browsers einbauen?
Sowas wie
if ie 50%

if nn 80%

Ich weiß nicht wie man das in php schreibt.

R300
2004-11-27, 11:02:28
Als ob hier keiner PHP kann. Meine Fresse seid ihr immer so hilfreich?

Oder wollt ihr mir sagen ich soll jetzt auch noch php lernen?

Nase
2004-11-28, 12:28:54
Bau die linke und rechte Menüleiste auch in die Tabelle mit ein, und alles ist wunderbar.

R300
2004-11-28, 22:36:00
Welche Tabelle?
Das ist ein CSS Design ohne Tabellen.

Nase
2004-11-29, 09:44:16
Aja, aber in den Quelltext hast du schonmal reingeschaut? Das Newsscript setzt voll auf Tabellen. Da ist nichts mit CSS, bis auf einen Befehl (border-collapse). Der Rest wird mit Tabellen und veralteten HTML-Tags (z.B. font) realisiert.

R300
2004-11-29, 14:55:06
Ach nein den Code vom Newsscript habe ich mir nicht angeguckt, sorry.
Und was soll ich da genau machen? Ich kapier den php Code drumherum nicht.


include("config.php");
?>

<a name="news"></a>
<h2 align="center">News</h2>

<?PHP
//Connect
$db = @mysql_connect($host, $user, $passw)
or die ("Verbindungsaufnahme NICHT Erfolgreich!<br>Bitte gehen Sie nochmal zurück.<br>Sollte es immer noch nicht gehen, dann schreiben Sie mir doch bitte eine Mail.");
@mysql_select_db($database, $db)
or die ("Verbindungsaufnahme mit Datenbank NICHT Erfolgreich!<br>Bitte gehen Sie nochmal zurück.<br>Sollte es immer noch nicht gehen, dann schreiben Sie mir doch bitte eine Mail.");
//Connect!!ED!!

//Dateinamenzuweisung
if($ausgebenin != "")
{
$dername = $ausgebenin;
}
else
{
$dername = "ausgabe.php";
}

//Wenn Suchabfrage gestartet wurde, werden hier die Suchergebnisse ausgegeben
if(isset($_GET['suche']) && $_GET['suche'] != "")
{
echo "<h3>Suchergebnis</h3>";

$suchzahl = mysql_query("SELECT * FROM $tabelle where news like '$genau$_GET[suche]%' OR head like '$genau$_GET[suche]%' ORDER BY time DESC");
$suchmenge = mysql_num_rows($suchzahl);

if($suchmenge > 0)
{
echo "Es wurden <b>$suchmenge</b> Newseinträge zu Ihrer Anfrage gefunden:<br><br>";
}
else
{
echo "Es wurde leider kein Newseintrag zu Ihrer Anfrage gefunden<br>"; }
echo "<table border=\"0\" align=\"center\" width=\"$width\" style=\"border-collapse:collapse\">";

$lists = mysql_query("SELECT * FROM $tabelle where news like '$genau$_GET[suche]%' OR head like '$genau$_GET[suche]%' ORDER BY time DESC");
while($rows = mysql_fetch_array($lists))
{
//Variablen
$br = nl2br($rows[2]);

echo "
<tr bgcolor=\"$headcolor\">
<td width=\"25%\">
<font size=\"-1\"><b>News vom: $rows[4]</b></font>
</td>
<td align=\"right\">
";

if($einboard == "1")
{
echo "<font size=\"-1\"><a href=\"$board\"><b>discuss in the board</b></a></font><b> | </b>";
}

echo "
<font size=\"-1\"><a href=\"mailto:$mail\"><b>mail @ webmaster</b></a></font>
</td>
</tr>

<tr>
<td colspan=\"3\">
<h2>$rows[1]</h2>
<p align=\"justif\">$br</p>
</td>
</tr>

<tr>
<td colspan=\"3\">
<b>&nbsp;</b>
</td>
</tr>
";
}

echo "</table>";

echo "<h3 align=\"center\"><a href=\"$dername\">Zurück zu den aktuellen News</a></h3>";
}
else
{
//Ab hier werden die News ausgegeben wenn keine Suche ist
echo "<table border=\"0\" align=\"center\" width=\"$width\" style=\"border-collapse:collapse\">";

//Diverse Einstellungen und definitionen
//Dies wurde nur einmal am Anfang ausgeführt:
if(!isset($_GET['start']) && !isset($_GET['nolimitg']))
{
$limit = " LIMIT $zahl";
$seitzahl = 1;
}
elseif(!isset($_GET['nolimitg']))
{
$limit = " LIMIT $_GET[start],$zahl";
}

//Es werden alle News angezeigt:
if(isset($_GET['nolimitg']) && $_GET['nolimitg'] == "1")
{
$limit = "";
}

//Alle werden angezeigt, wenn es in der config eingestellt wurde
if($nolimit == "1" && !isset($_GET['nolimitg']))
{
$limit = "";
}
elseif(!isset($_GET['nolimitg']) && !isset($_GET['start']))
{
$limit = " LIMIT $zahl";
}

//Zahl der News
$newszahl = mysql_query("SELECT * FROM $tabelle");
$menge = mysql_num_rows($newszahl);

$newsanzahl = $menge;

//Seitenzahlen + weitergabe
$seitzahl2 = $menge/$zahl;
if(substr_count($seitzahl2, ".") >= 1)
{
$seitzahl2 = floor($seitzahl2);
$seitengesamt = substr($seitzahl2,0,100);
$seitengesamt++;
}
else
{
$seitzahl2 = floor($seitzahl2);
$seitengesamt = substr($seitzahl2,0,100);
}

$startmenge = 0;

if(!isset($_GET['start']))
{
$newsmenge = $menge;
}
if(isset($_GET['newsmenge']))
{
$newsmenge = $_GET['newsmenge'];
}

//Ausgabe der News
$list = mysql_query("SELECT * FROM $tabelle ORDER BY time DESC$limit");
while($row = mysql_fetch_array($list))
{
$br = nl2br($row[2]);
$startmenge++;

echo "
<tr bgcolor=\"$headcolor\">

<td width=\"25%\">
<font size=\"-1\"><b>News: #$newsmenge | $row[4]</b></font>
</td>
<td align=\"right\">
";

if($einboard == "1")
{
echo "<font size=\"-1\"><a href=\"$board\"><b>discuss in the board</b></a></font><b> | </b>";
}

echo "<font size=\"-1\"><a href=\"mailto:$mail\"><b>mail @ webmaster</b></a></font>
</td>
</tr>

<tr>
<td colspan=\"3\">
<h2>$row[1]</h2>
<p align=\"justif\">$br</p>
</td>
</tr>

<tr>
<td colspan=\"3\">
<b>&nbsp;</b>
</td>
</tr>
";

$newsmenge--;
}

echo "</table>";
?>
<?PHP
if($nolimit == "0"){
?>
<table border="0" width="<?PHP echo $width; ?>" align="center">
<tr>

<?PHP
//Weiter Seitenweitergabendefinitionen
if(isset($_GET['aktseite']))
{
$seitzahl = $_GET['aktseite'];
}
if(isset($_GET['start']))
{
$zahladd1 = $_GET['start']+$zahl;
$zahladd2 = $_GET['start']-$zahl;
$gebnews = $menge+$zahl;
}

$newsmengeback1 = $newsmenge+$startmenge;
$seitenback = $seitzahl;
$seitenback--;
$seitenvor = $seitzahl;
$seitenvor++;

if(isset($_GET['vermenge']))
{
$newsmengeback = $newsmengeback1+$_GET['vermenge'];
}
else
{
$newsmengeback = $newsmengeback1+$startmenge;
}

//Die verschiedenen Weiter und Previous Pfeile werden ausgegeben
if($limit == " LIMIT $zahl" && !isset($_GET['start']))
{
echo "<td width=\"33%\"></td>";
}
elseif(!isset($_GET['nolimitg']) && $zahladd2 >= 0)
{
?>

<td width="33%"><a href="<?PHP echo $dername; ?>?start=<?PHP echo $zahladd2; ?>&newsmenge=<?PHP echo $newsmengeback; ?>&back=ja&aktseite=<?PHP echo $seitenback; ?>#news"><?PHP if($seitseite == "ja"){ echo "$davortext2 $seitenback"; } ?><?PHP echo $backtext; ?></a></td>

<?PHP
}
else
{
echo "<td width=\"33%\"></td>";
}
?>

<td align="center">

<?PHP
if($mitte == "ja" && !isset($_GET['nolimitg']))
{
echo "<b>$seitzahl/$seitengesamt</b>";
}
?>

</td>

<?PHP
if($limit == " LIMIT $zahl" && !isset($_GET['start']) && $menge > $zahl)
{
?>

<td width="33%" align="right"><a href="<?PHP echo $dername; ?>?start=<?PHP echo $zahl; ?>&newsmenge=<?PHP echo $newsmenge; ?>&vermenge=<?PHP echo $startmenge; ?>&aktseite=<?PHP echo $seitenvor; ?>#news"><?PHP if($seitseite == "ja"){ echo "$davortext1 $seitenvor"; } ?> <?PHP echo $vortext; ?></a></td>

<?PHP
}

if(isset($_GET['start']) && $startmenge >= $zahl && $seitenvor <= $seitengesamt)
{
?>

<td width="33%" align="right"><a href="<?PHP echo $dername; ?>?start=<?PHP echo $zahladd1; ?>&newsmenge=<?PHP echo $newsmenge; ?>&vermenge=<?PHP echo $startmenge; ?>&aktseite=<?PHP echo $seitenvor; ?>#news"><?PHP if($seitseite == "ja"){ echo "$davortext1 $seitenvor"; } ?> <?PHP echo $vortext; ?></a></td>

<?PHP
}
elseif(isset($_GET['start']))
{
echo "<td width=\"33%\"></td>";
}
elseif($seitengesamt == 1)
{
echo "<td width=\"33%\"></td>";
}
?>

</tr>
</table>
<?PHP
}
?>

<p align="center">
<?PHP
if($nolimit == "0" && $newsanzahl > $zahl && !isset($_GET['nolimitg']))
{
?>

<a href="<?PHP echo $dername; ?>?nolimitg=1#news"><b>Alle News anzeigen</b></a>
<br>
<br>

<?PHP
}
?>

</p>

<table border="0" align="center">
<tr>
<td align="center">
<form action="<?PHP echo $dername; ?>" method="GET">
<input type="text" name="suche" size="20" />
<br>
<input type="submit" name="search" value="Suchen" />
</form>
</td>
</tr>
</table>

<p align="center">

<font size="-2"><a href="http://www.01-scripts.de">01 Newsscript</a> by <a href="mailto:kontakt@01-scripts.de">Michael Lorer</a></font>

</p>

<?PHP
}//ENDE der Newsausgabe (if-Abfrage ob Suche Ja/nein)

//Script by Michael Lorer alias Deathfragger | www.01-scripts.de | support@01-scripts.de
?>

Nase
2004-11-29, 15:04:20
Ich wollte sagen, dass du am einfachsten dein ganzes CSS-Layout wegschmeißt und durch eine Tabelle ersetzt oder den Code vom Newsscript deiner Seite anpasst. Letzteres macht natürlich mehr Spaß.
Eine Browserweiche zu schreiben ist nur Gefummel und unnütz, wenn man das Problem auch richtig lösen kann.

R300
2004-11-29, 16:05:28
LOL ich schmeißs doch mein CSS Design nicht weg.
Lieber suche ich mir ein neuen Script oder ich lasse es bei Mozilla und Co. zu schmal anzeigen wenn mir keiner die "Browserweiche" schreibt.