Hi Forum,
ich habe ein Prob mit puretec. Habe ein Gästebuch programmiert, das auf meinem localhost einwandfrei funzt.
Ein php-Script überprüft, ob weniger als 5 Einträge insgesamt in der DB (mysql) vorhanden sind...
Und gibt das weiter... ich übergebe mittels einer variable ($oos [OnlyOneSite]) einen Wert an ein anderes Script gb_show.php3
Wenn oos=1 ist dann habe ich nur eine Seite wenn es einen anderen Wert hat dann habe ich mehr als 5 Einträge insgesamt in der DB.
Die Variable wird an den Link angehängt:
www.meineseite.de/phpscript1.php3?oos=1 oder eben 2 wenn mehr als 5 Einträge vorhanden sind....
Nur im Script das dann die Dateien anzeigen soll wird ein Fehler ausgeben.
Ich habe im Moment 3 Einträge, die in sich in der Puretec-Datenbank befinden...also ist oos auf 1 gesetzt!
So weit so gut....das klappt ja auch soweit...
Doch jetzt bringt er mir mir gleich zwei Fehlermeldungen, die anscheinend daraus resultieren, dass er die If-abfragen nicht richtig durchläuft....
Ich habe im Quelltext die Stellen der Fehlermeldung mit einem Kommentar versehen:
---------------------------------------------------------------------------------------
FEHLERMEDLUNG1: Warning: 0 is not a MySQL result index in /homepages/5/d24808579/htdocs/db/gb_show_puretec.php3 on line 24
Wie schon oben geschrieben scheint die if-abfrage net zu funzen, denn wenn ich die SQL-Anweisung direkt in den query hineinschreibe und nicht per varibale übergebe funzt es....
[also nicht so: $ergebnis=mysql_query($sql_befehl,$verbindung); sondern so:$ergebnis=mysql_query("SELECT*FROM gaestebuch,$verbindung);]
---------------------------------------------------------------------------------------
FEHLERMELDUNG 2:Warning: Division by zero in /homepages/5/d24808579/htdocs/db/gb_show_puretec.php3 on line 83
Eigentlich dürfte php gar nicht in den else-Zeig reinlaufen, da ja oos=1 im link übergeben wurde....warum ers doch macht kann ich nicht sagen
Das es eine division mit 0 ist klar da wenn oos nicht 1 ist (also ich insgesamt mehr als 5 einträge in der DB habe) auch noch die Variablen $step und $start per link übergeben werden
dann lautet der link: www.meineseite.de?oos=2&start=0&step=5
--------------------------------------------------------------------------------------
Hier das Script der Datei (gb_show.php3) in der der Fehler vorkommt:
Vielen Dank für eure Hilfe...
ich muss nochmal dazu sagen dass bei mir auf dem localhost das Script einwandfrei funzt!!!!!
ich habe ein Prob mit puretec. Habe ein Gästebuch programmiert, das auf meinem localhost einwandfrei funzt.
Ein php-Script überprüft, ob weniger als 5 Einträge insgesamt in der DB (mysql) vorhanden sind...
Und gibt das weiter... ich übergebe mittels einer variable ($oos [OnlyOneSite]) einen Wert an ein anderes Script gb_show.php3
Wenn oos=1 ist dann habe ich nur eine Seite wenn es einen anderen Wert hat dann habe ich mehr als 5 Einträge insgesamt in der DB.
Die Variable wird an den Link angehängt:
www.meineseite.de/phpscript1.php3?oos=1 oder eben 2 wenn mehr als 5 Einträge vorhanden sind....
Nur im Script das dann die Dateien anzeigen soll wird ein Fehler ausgeben.
Ich habe im Moment 3 Einträge, die in sich in der Puretec-Datenbank befinden...also ist oos auf 1 gesetzt!
So weit so gut....das klappt ja auch soweit...
Doch jetzt bringt er mir mir gleich zwei Fehlermeldungen, die anscheinend daraus resultieren, dass er die If-abfragen nicht richtig durchläuft....
Ich habe im Quelltext die Stellen der Fehlermeldung mit einem Kommentar versehen:
---------------------------------------------------------------------------------------
FEHLERMEDLUNG1: Warning: 0 is not a MySQL result index in /homepages/5/d24808579/htdocs/db/gb_show_puretec.php3 on line 24
Wie schon oben geschrieben scheint die if-abfrage net zu funzen, denn wenn ich die SQL-Anweisung direkt in den query hineinschreibe und nicht per varibale übergebe funzt es....
[also nicht so: $ergebnis=mysql_query($sql_befehl,$verbindung); sondern so:$ergebnis=mysql_query("SELECT*FROM gaestebuch,$verbindung);]
---------------------------------------------------------------------------------------
FEHLERMELDUNG 2:Warning: Division by zero in /homepages/5/d24808579/htdocs/db/gb_show_puretec.php3 on line 83
Eigentlich dürfte php gar nicht in den else-Zeig reinlaufen, da ja oos=1 im link übergeben wurde....warum ers doch macht kann ich nicht sagen
Das es eine division mit 0 ist klar da wenn oos nicht 1 ist (also ich insgesamt mehr als 5 einträge in der DB habe) auch noch die Variablen $step und $start per link übergeben werden
dann lautet der link: www.meineseite.de?oos=2&start=0&step=5
--------------------------------------------------------------------------------------
Hier das Script der Datei (gb_show.php3) in der der Fehler vorkommt:
PHP-Code:
<?php
// Die Daten sind ordnungsgemäß geändert wenn ich die Datei auf den //Puretec-Server stelle...
$server="localhost";
$user="";
$passwort="";
$verbindung=mysql_connect($server,$user,$passwort);
mysql_select_db("db43239736",$verbindung);
// oos=OnlyOneSite Siehe Definition in Datei 'gb_check_show.php3'
//OnlyOneSite=1, D.h. also Ja
if ($_GET["oos"]==1)
{
$sql_befehl="SELECT * FROM gaestebuch ORDER BY zeitstempel DESC";
}
else
{
// oos!=1 also z.B. oos=2 was Bedeutet das mehr also eine Site gebraucht wird
$sql_befehl="SELECT * FROM gaestebuch ORDER BY zeitstempel DESC LIMIT $start , $step";
}
//Hole Daten vom DB
$ergebnis=mysql_query($sql_befehl,$verbindung);
// Einträge in die Seite integrieren
// HIER KOMMT DIE FEHLERMELDUNG 1
while($datensatz=mysql_fetch_object($ergebnis))
{
//CODECOMENT
echo "<!--Hier beginnt ein neuer GB-Eintrag-->\n";
//Datum
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td background='../images/bg_bottom.jpg'><font face='Arial' color='white' style='font-size:13px;'><b>Datum:</b> ". $datensatz->datum ."</font></tr></td></table></center>\n";
//Name
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td background='../images/bg_bottom.jpg'><font face='Arial' color='white' style='font-size:13px;'><b>Name:</b> ". $datensatz->name ."</font></tr></td></table></center>\n";
//Ort
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td background='../images/bg_bottom.jpg'><font face='Arial' color='white' style='font-size:13px;'><b>Ort:</b> ". $datensatz->ort ."</font></tr></td></table></center>\n";
//E-mail
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td background='../images/bg_bottom.jpg'><font face='Arial' color='white' style='font-size:13px;'><b>E-mail:</b> <a href='mailto:". $datensatz->email ."' class='post'>". $datensatz->email ."</a> </font></tr></td></table></center>\n";
//Website
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td background='../images/bg_bottom.jpg'><font face='Arial' color='white' style='font-size:13px;'> <b>Homepage:</b> <a href='". $datensatz->url ."' class='post' target='_blank'>". $datensatz->url ."</a> </font></tr></td></table></center>\n";
//Text
echo "<center><table width='416' CELLSPACING='2' cellpadding='0' border='0'><tr width='208'><td bgcolor='#cecece'><font face='Arial' color='black' style='font-size:13px;'><b>Eintrag:</b><br> ". $datensatz->text ."</font></tr></td></table></center>\n";
echo "<br>\n<br>\n\n\n";
}
mysql_free_result($ergebnis);
mysql_close($verbindung);
// Links zu den Seiten setzen
//Ermittle Anzahl der benötigten Seiten
$verbindung=mysql_connect($server,$user,$passwort);
mysql_select_db("db43239736",$verbindung);
$sql_befehl="SELECT * FROM gaestebuch";
$ergebnis=mysql_query($sql_befehl,$verbindung);
$anzahldaten=mysql_num_rows($ergebnis);
mysql_free_result($ergebnis);
mysql_close($verbindung);
if ($_GET["oos"]==1)
{
echo "<font face='arial color='black' style='font-size:13px;'>Seite:</font> <a href='gb_show.php3?oos=1' style='color:darkblue; font-size:13px; font-style:arial;'>1</a> <font face='arial color='black' style='font-size:13px;'>|</font>";
}
else
{
//Mehr 2 $step einträge (Standardwert=5)
//Divisionrest für die letzte Seite
$divrest=$anzahldaten%$step;
$anzahlpassend=$anzahldaten-$divrest;
//Ermitteln der Seiten die mit der maximalen Anzahl an Einträgen gefüllt sind (Standardwert=5)
//HIER KOMMT FEHLERMELDUNG 2
$volleseiten=$anzahlpassend/$step;
$seitennummer=1;
$aktuelleseitenanzahl=0;
$start=0;
echo "<font face='arial color='black' style='font-size:13px;'>Seite:</font> ";
while ($aktuelleseitenanzahl < $volleseiten)
{
echo "<a href='gb_show.php3?oos=2&start=". $start ."&step=". $step ."' style='color:darkblue; font-size:13px; font-style:arial;'>". $seitennummer ."</a> ";
echo "<font face='arial color='black' style='font-size:13px;'>| </font>";
$start=$start+$step;
$seitennummer++;
$aktuelleseitenanzahl++;
}
if($divrest!=0)
{
echo " <a href='gb_show.php3?oos=2&start=". $start ."&step=". $step ."' style='color:darkblue; font-size:13px; font-style:arial;'>". $seitennummer ."</a> ";
}
}
Vielen Dank für eure Hilfe...
ich muss nochmal dazu sagen dass bei mir auf dem localhost das Script einwandfrei funzt!!!!!
Kommentar