Leute?!??!!?!?!? Wo wird $top und $flop ein Wert zugewiesen??? Nirgendwo!!!
PHP + MySQL Problem
-
-
im vorfeld garnicht erst nach aufruf des linkes zur bewertung!
-
emmm ... moch ne frage kann man das nicht irgendwie realisieren
ohne das die ganze seite gleich neu geladen werden muß???die bewertung muß ja eig. nur in die db und
nicht sofort angezeigt werden.mfg
-
im vorfeld garnicht erst nach aufruf des linkes zur bewertung!
Falsch! Ich rede von $top und $flop, nicht von $_GET['top'] und $_GET['flop']. $top und $flop sind und bleiben undefiniert! -
@ Bandit: Ich denke mal er meint, dass beim ersten Seitenaufruf keine Fehlermeldung kommt, sondern erst wenn gevotet wird. Das passt ja auch. Beim ersten Seitenaufruf werden die if-/elseif-Bedingungen nicht erfüllt und der Parser stolpert noch nicht über $top bzw. $flop. Das passiert erst wenn gevotet wird.
@ Walerik: Wenn du das ohne Reload machen willst mußt du Ajax verwenden.
-
Das passiert erst wenn gevotet wird.
Richtig, und ein Update wird nicht ausgeführt, weil id wohl kaum '' ist. -
hee ich raf grad garnichts!
update??? das in die datenbank?? funnktionieren tuts ja
-
Zeige uns deinen aktuellen Quellcode, vielleicht hast du schon was angepasst, was wir noch nicht wissen.
-
So siehts aktuell aus!
PHP
Alles anzeigen<?php include ("header.php"); if(isset($_GET['id'])) { $sql = "delete from musik where id=".mysql_real_escape_string($_GET['id']); $rs = mysql_query($sql); if (file_exists("musik/".$_GET['d'])) { unlink("musik/".$_GET['d']); } } if(isset($_GET['top'])) { mysql_query ("UPDATE musik SET vote = vote + 1, vote_ges = vote_ges + 1, prozent=(vote*100/vote_ges) WHERE id = '$top'"); } elseif(isset($_GET['flop'])) { mysql_query ("UPDATE musik SET vote = vote + 0, vote_ges = vote_ges + 1, prozent=(vote*100/vote_ges) WHERE id = '$flop'"); } $sql = "SELECT dateiname, id from musik"; $rs = mysql_query($sql); ?> <a href="upload.php">Neue Musik hochladen</a><hr/> <?php if(mysql_num_rows($rs) == 0) { echo "Keine Musik vorhanden"; } else { while($row=mysql_fetch_array($rs)) { echo !empty($row[0]) ? "$row[0]" :"kein Bild"; echo "<a href=\"upload.php?id=".$row[1]."\">weiter</a> <a href=\"uebersicht.php?id=".$row[1]."&d=".$row[0]."\">löschen</a> <a style=\"color:#000000\" href=\"uebersicht.php?top=".$row[1]."\"><img src=\"img/top.gif\" border=\"0\" height=\"15\"></a> <a style=\"color:#000000\" href=\"uebersicht.php?flop=".$row[1]."\"><img src=\"img/flop.gif\" border=\"0\" height=\"15\"></a>"; ?> <object type="application/x-shockwave-flash" data="flash/start_stop.swf" height="18" width="20"> <param name="movie" value="flash/start_stop.swf"> <param name="bgcolor" value="#ffffff"> <param name="FlashVars" value="src=musik/<? echo $row[0]; ?>"><br/> </object> <br/> <?php } } mysql_free_result($rs); mysql_close($verbindung); include ("footer.php"); ?>
emmm ... moch ne frage kann man das nicht irgendwie realisieren
ohne das die ganze seite gleich neu geladen werden muß???die bewertung muß ja eig. nur in die db und
nicht sofort angezeigt werden.mfg
lässt sich da nicht mit frames, target und php arbeiten?
-
du wurdest doch jetzt schon mehrmals mit der Nase drauf gestoßen
PHP
Alles anzeigen<?php include ("header.php"); if(isset($_GET['id'])) { $sql = "delete from musik where id=".mysql_real_escape_string($_GET['id']); $rs = mysql_query($sql); if (file_exists("musik/".$_GET['d'])) { unlink("musik/".$_GET['d']); } } if(isset($_GET['top'])) { $top = (int) $_GET['top']; mysql_query ("UPDATE musik SET vote = vote + 1, vote_ges = vote_ges + 1, prozent=(vote*100/vote_ges) WHERE id = '$top'"); } elseif(isset($_GET['flop'])) { $flop = (int) $_GET['flop']; mysql_query ("UPDATE musik SET vote = vote + 0, vote_ges = vote_ges + 1, prozent=(vote*100/vote_ges) WHERE id = '$flop'"); } $sql = "SELECT dateiname, id from musik"; $rs = mysql_query($sql); ?> <a href="upload.php">Neue Musik hochladen</a><hr/> <?php if(mysql_num_rows($rs) == 0) { echo "Keine Musik vorhanden"; } else { while($row=mysql_fetch_array($rs)) { echo !empty($row[0]) ? "$row[0]" :"kein Bild"; echo "<a href=\"upload.php?id=".$row[1]."\">weiter</a> <a href=\"uebersicht.php?id=".$row[1]."&d=".$row[0]."\">löschen</a> <a style=\"color:#000000\" href=\"uebersicht.php?top=".$row[1]."\"><img src=\"img/top.gif\" border=\"0\" height=\"15\"></a> <a style=\"color:#000000\" href=\"uebersicht.php?flop=".$row[1]."\"><img src=\"img/flop.gif\" border=\"0\" height=\"15\"></a>"; ?> <object type="application/x-shockwave-flash" data="flash/start_stop.swf" height="18" width="20"> <param name="movie" value="flash/start_stop.swf"> <param name="bgcolor" value="#ffffff"> <param name="FlashVars" value="src=musik/<? echo $row[0]; ?>"><br/> </object> <br/> <?php } } mysql_free_result($rs); mysql_close($verbindung); include ("footer.php"); ?>
-
axo ... hab das erstmal übersehen!
aber die funktion ist die selbe ...
-
noch ne frage warum werden mir nicht alle fehler ausgespuckt??
was muß ich unter error_reporting in der php.ini einstellen damit mir alles ausgespuckt weird? aktuell ist 6143
-
E_ALL, dann bekommst du alles angezeigt.
-
Ich hab mein script jetzt mit einem download erweiter!
was so aussieht:
PHPif(isset($_GET['dl'])) { $dl = (int) $_GET['dl']; mysql_query ("UPDATE musik SET down = down + 1 WHERE id = '$dl'"); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=$dlf"); readfile('musik/'.$_GET['dlf']); }
das problem ist jetzt wenn der name der an $dlf übergeben wird ein
leerzeichen enthält bekomme ich problem mit dem filename.
z.b. der name "forum hilfe.mp3" wird als nur "forum" übergeben.zwar kann ich leerzeichen dur "_" ersetzen was mir aber nicht gefallen tut.
deswegen wollt ich fragen was es noch so für möglichkeinten gibt -
Leerzeichen gehören nicht in dateinamen, obs dir nun gefällt oder nicht..
-
Ich würde die Dateien auch eher mit Unterstrichen speichern als mit Leerzeichen, aber du kannst ja mal probieren die Leerzeichen durch %20 zu ersetzen.
(http://de.php.net/str_replace) -