• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kommentarebox

MasterHTML

Neues Mitglied
was ist an dem script falsch?
PHP:
<?php 
$link = mysql_connect('localhost', 'phost138554', 'buchmitdir'); 
if (!$link) { 
    die('Could not connect to DB'); 
} 
mysql_select_db('phost138554'); 


if (isset($_POST['submit'])) { 
$income = $_POST['comment']; 
    
foreach ($income as $value) { 
   @strip_tags($value); 
} 

   $badStrings = array("Content-Type:","MIME-Version:","Content-Transfer-Encoding:","bcc:","cc:", "[URL","[/URL]"); 
foreach ($income as $key => $value) { 
    if ((@eregi("<[^>]*script*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*iframe*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*object*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*applet*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*meta*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*style*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*form*\"?[^>]*>", $value)) || 
    (@eregi("<[^>]*img*\"?[^>]*>", $value))){ 
         // echo 'Nice try, Round Up!'; 
         exit; 
      } 
  } 
  foreach($income as $k => $v){ 
   foreach($badStrings as $v2){ 
       if(@strpos($v, $v2) !== false){ 
           // echo 'Nice try, one more Time!'; 
           exit; 
       } 
   } 
  } 
 // man könnte noch auf eine korrekte email prüfen 



mysql_query('INSERT INTO comments SET 
page = "'.$income['page'].'", 
poster = "'.$income['poster'].'", 
email = "'.$income['email'].'", 
rating = "'.$income['rating'].'", 
body = "'.$income['body'].'" 
'); 
} 


// hier der eigentliche Inhalt der Seite 
// und $page mit irgendwas sinnvollem belegen 


// eine DB Table "comments" mit den feldern: "page,poster,email,rating,body" anlegen 




// hier etwas zum auslesen der Comments 
$result = mysql_query('SELECT poster,email,rating,body FROM comments WHERE page = "'.$page.'"'); 
while ($row = mysql_fetch_assoc($result)) { 
   echo ' 
   Name: '.$row['poster'].'<br> 
   Email: '.$row['email'].'<br> 
   Bewertung: '.$row['rating'].'<br> 
   '.$row['body'].' 
   <hr>'; 
} 

echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post"> 
   <input type="hidden" name="comment[page]" value="'.$page.'"> 
      <table BORDER=0 > 
         <tr><td WIDTH="15%"><b><font face="Arial"><font size=-1>Name:</font></font></b></td><td><input type="text" name="comment[poster]" size="28"></td></tr> 
         <tr><td WIDTH="15%"><b><font face="Arial"><font size=-1>Email:</font></font></b></td><td><input type="text" name="comment[email]" size="28"></td></tr> 
        </table> 
      <table BORDER=0 > 
         <tr> 
         <td><b><font face="Arial"><font size=-1>Bewertung:</font></font></b></td> 
         <td><select name="comment[rating]" size="1"> 
         <option value="0" selected="selected">-</option> 
         <option value="1">1</option> 
         <option value="2">2</option> 
         <option value="3">3</option> 
         <option value="4">4</option> 
         <option value="5">5</option> 
         <option value="6">6</option> 
         <option value="7">7</option> 
         <option value="8">8</option> 
         <option value="9">9</option> 
         <option value="10">10</option> 
         </select> 
         </td> 
         <td><b><font face="Arial"><font size=-1>von 10 Augen</font></font></b></td> 
         </tr> 
      </table> 
      <table BORDER=0 > 
         <tr> 
         <td COLSPAN="2"> 
         <textarea name="comment[body]" wrap="virtual" rows="10" cols="70"></textarea> 
         </td></tr> 
         <tr><td>&nbsp;</td></tr> 
         <tr><td ALIGN=CENTER><input name="submit" value="&nbsp;Eintragen&nbsp;" type="submit"><input value="&nbsp;&nbsp;L&ouml;schen&nbsp;&nbsp;" type="reset"></td></tr> 
      </table> 
</form>'; 
?>

er funktzionirt nicht!:(
da steht dann immer nur eine 0 also ich mache überall test (ausser e-mail da meine^^)
und dann kommt da nicht was ich geschrieben habe sondern eine 0 kann mir da jemand helfen?
 
Zuletzt bearbeitet von einem Moderator:
Nicht anders, genauer!

Was macht dein Script überhaupt? Ist das ein Mailscript?
(ausser e-mail da meine^^)
Oder was bedeutet für dich:

Sinnvolle Problembeschreibung wäre sinnvoll, nicht so wie dies hier:
er funktzionirt nicht!

Und das
da steht dann immer nur eine 0 also ich mache überall test (ausser e-mail da meine^^)
und dann kommt da nicht was ich geschrieben habe sondern eine 0 kann mir da jemand helfen?
Versteh ich auch nicht!

Gruß
 
Ich versuch es mal:

Korregiert mich bitte wenn ich falsch liege, aber dieser Abschnitt:
Code:
   echo '
   Name: '.$row['poster'].'<br>
   Email: '.$row['email'].'<br>
   Bewertung: '.$row['rating'].'<br>
   '.$row['body'].'
   <hr>';
Also ich sehe da:
echo '
NONCODE'.INCODE['NONCODE'OUTCODE].'INCODE
und so weiter.
Also sprich, ab .$row[' gehst du wieder aus dem Code raus, meines erachtens. Jeoch weis ich nicht, ob er imcode auf die ' ' in der $row['x'] achtet.

Mfg
 
NONCODE'.INCODE['NONCODE'OUTCODE].'INCODE
Nett :D

Aber die Stelle sieht für mich richtig aus! Ich weiß zwar nicht wieso da so viele Zeilenumbrüche drin sind aber der Highlighter sagt auch:
PHP:
echo 'Name: ' . $row['poster'] . '<br>Email: ' . $row['email'] . '<br>Bewertung: ' . $row['rating'] . '<br>' . $row['body'] . '<hr>';

Alles okay ;)

Durch den . trennst du Strings und Variablen!
 
ne, das stimmt. der punkt verhindert ja, dass das invertierte komma als code-schluss angesehen wird.

Nils aka XraYSoLo
 
Hi,

habs mal lokal getest, bei mir funktioniert es!

Setze mal an den Anfang der Datei:
PHP:
error_reporting(E_ALL);
 
PHP:
error_reporting(E_ALL);

an den anfang der datei setzen, mal sehen, was da 'rauskommt.

Edit: ach verflucht, da war man wieder schneller...

Nils aka XraYSoLo
 
es klappt immernoch nicht:
also es soll einfach etwas sein wo man kommentare zur hp machen kann:
wenn ich die felder aus fülle dann abschike kommt da das:
Code:
Notice: Undefined variable: page in /srv/www/httpd/phost/s/de/pytalhost/shiny-glurak/web/kommentare2.php on line 63
Name: 0
Email: 0
Bewertung: 0
0
ich habe überall test eingegeben! :(
 
Zurück
Oben