• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP: wie maches ich am besten ein kommentar script welches für ca 100 ...............

hmmm

naja, ansatzweiße richtig, ;) ;) nur steht jetzt zb. (schon mit meinem layout)

Code:
sk8graz schrieb 2001-10-24 00:00:00:
das ist ein beispiel kommentar. die abk für abk ist abk
erstens klinkt das "am 2001-10-24 00:00:00" sehr schlecht, besser währe

"am 2001-10-24 um 00:00:00"

außerdem, stimmt die uhrzeit nicht (es lieg nicht an meiner serverzeit!![oder ist es jetz 00:00:00;)]

ich hoffe du kannst mir weiter helfen ;)
 
Hallo!

Dann eben so:

class.comments.php

PHP:
<?php

class comments
{
    function comments()
    {
         $this->username = "tom";
         $this->password="";
         $this->dbhost="localhost";
         $this->connid = @mysql_pconnect($this->dbhost,$this->username,$this->password);
         if(!$this->connid)
         {
             echo "<center><h2>Datenbankverbindung fehlgeschlagen</h2>Wenden Sie sich bitte an den
                       <a href=\"mailto:webmaster@webmaster.web\">Webmaster</a></center>";
        }
    }
    function get_comments($song=-1)
    {
         mysql_select_db('comments',$this->connid);
         $SQL_Statement="SELECT * FROM comments";
         if($song!=-1){$SQL_Statement.=" WHERE lied='$song'";}
         $query=mysql_query($SQL_Statement);
         $r=0;
         while($c_data=mysql_fetch_array($query))
         {
                $datum=explode(" ",$c_data['datum']);

                $comments[$r][0] = $c_data['NAME'];
                $comments[$r][1] = $c_data['mailadress'];
                $comments[$r][2] = $c_data['KOMMENTAR'];
                $comments[$r][3] = $datum[0];
                $comments[$r][4] = $datum[1];
                $r++;
         }
         return $comments;
    }

    function write_comments($name,$email,$kommentar,$song)
    {
          mysql_select_db('comments',$this->connid);
          $SQL_Statement="INSERT INTO comments (NAME,mailadress,KOMMENTAR,lied,datum) VALUES ('$name','$email','$kommentar','$song',current_timestamp)";
          if(mysql_query($SQL_Statement))
          {
               echo "<center>Vielen Dank für deinen Eintrag.......</center>";
          }
          else
          {
               echo "<center>Eintrag konnte nicht vorgenommen werden......</center>";
          }
    }
}

?>

comments.php:

PHP:
<?php

$Com=new comments;

if(!empty($show))
{
    $comments = $Com->get_comments($show);
    if(!empty($comments))
    {
         for($x=0;$x<count($comments);$x++)
         {
               echo "<p>Kommentar von: <a href=\"mailto:",$comments[$x][1],"\">",$comments[$x][0],"</a> am ",$comments[$x][3]," um ",$comments[$x][4],"</p>\n";
               echo "<p>",$comments[$x][2],"</p>\n\n";
         }
    }
}

if(!empty($makenew))
{
     ?>
     <form action="test.php">
     <input type="hidden" name="song" value="<?echo $makenew;?>">
     Name: <input type="text" name="name">
     EMail: <input type="text" name="email">
     Kommentar:<br><textarea name="kommentar"></textarea>
     <input type="submit" value="Kommentar abgeben">
     </form>
     <?php
}

if(!empty($name) && !empty($email) && !empty($kommentar) && !$makenew && !$show)
{
     $Com->write_comments($name,$email,$kommentar,$song);
}

?>
 
upsi!

ich bräuchte bitte doch noch mal deine hilfe:
bei deinem script, passiert nichts, wenn man nicht alle felder aufüllt, bitte helfe mir, das wenn man nicht alle felder ausfüllt, dass dann eine echo "du musst schon alles ausfüllen"; kommt, (nicht das ich nicht fähig währe mit php variablen zu prüfen, aber ich blicke bei dem scrip nicht durch wo ich die überprüfung einbauen muss)

pls help ;)
 
Hallo!

Die comments.php:

PHP:
<?php

$Com=new comments;

if(!empty($show))
{
    $comments = $Com->get_comments($show);
    if(!empty($comments))
    {
         for($x=0;$x<count($comments);$x++)
         {
               echo "<p>Kommentar von: <a href=\"mailto:",$comments[$x][1],"\">",$comments[$x][0],"</a> am ",$comments[$x][3]," um ",$comments[$x][4],"</p>\n";
               echo "<p>",$comments[$x][2],"</p>\n\n";
         }
    }
}

if(!empty($makenew))
{
     ?>
     <form action="comments.php">
     <input type="hidden" name="song" value="<?echo $makenew;?>">
     Name: <input type="text" name="name">
     EMail: <input type="text" name="email">
     Kommentar:<br><textarea name="kommentar"></textarea>
     <input type="submit" value="Kommentar abgeben">
     </form>
     <?php
}

if(!empty($name) && !empty($email) && !empty($kommentar) && !$makenew && !$show)
{
     $Com->write_comments($name,$email,$kommentar,$song);
}
elseif(!$makenew && !$show)
{
     echo "Du musst schon alles ausfüllen";
}

?>

So, sollte funken
 
Zuletzt bearbeitet:
zählen und seite umbrechen ;)

hi, danke, soweit geht jetzt alles 100 prozentig, aber ich bin draufgekommen, das wenn viele kommentare da sind, es doch sicher gt währe, wenn nach 10 Kommentaren
ein link mit Seite [1], seite [2] stehend würde, auserdem möchte ich tählen viewiele kommentare zu dieser band, und überhaubt gemacht werrden, ist das machbar??
wenn ja, bitte hilf mir!!!
 
Hallo!

Die Klasse

PHP:
<?php

class comments
{
    function comments()
    {
         $this->username = "tom";
         $this->password="";
         $this->dbhost="localhost";
         $this->connid = @mysql_pconnect($this->dbhost,$this->username,$this->password);
         if(!$this->connid)
         {
             echo "<center><h2>Datenbankverbindung fehlgeschlagen</h2>Wenden Sie sich bitte an den
                       <a href=\"mailto:webmaster@webmaster.web\">Webmaster</a></center>";
        }
    }

     function count_comments()
    {
         mysql_select_db('comments',$this->connid);
         $SQL_Statement="SELECT count(*) FROM comments";
         $query = mysql_query($SQL_Statement);
         $comments = mysql_fetch_row($query);
         return $comments[0];
    }

    function get_comments($song=-1,$limit=-1)
    {
         mysql_select_db('comments',$this->connid);
         $SQL_Statement="SELECT * FROM comments";
         if($song!=-1){$SQL_Statement.=" WHERE lied='$song'";}
         if($limit!=-1)
        {
             if($limit>0){$limitdo = ($limit *10);$limitup = $limitdo +10;}else
             {$limitdo = 0;$limitup = 10;}
             $SQL_Statement.=" LIMIT ".$limitdo.",".$limitup;
        }
         $query=mysql_query($SQL_Statement);
         $r=0;
         while($c_data=mysql_fetch_array($query))
         {
                $datum=explode(" ",$c_data['datum']);

                $comments[$r][0] = $c_data['NAME'];
                $comments[$r][1] = $c_data['mailadress'];
                $comments[$r][2] = $c_data['KOMMENTAR'];
                $comments[$r][3] = $datum[0];
                $comments[$r][4] = $datum[1];
                $r++;
         }
         return $comments;
    }

    function write_comments($name,$email,$kommentar,$song)
    {
          mysql_select_db('comments',$this->connid);
          $SQL_Statement="INSERT INTO comments (NAME,mailadress,KOMMENTAR,lied,datum) VALUES ('$name','$email','$kommentar','$song',current_timestamp)";
          if(mysql_query($SQL_Statement))
          {
               echo "<center>Vielen Dank für deinen Eintrag.......</center>";
          }
          else
          {
               echo "<center>Eintrag konnte nicht vorgenommen werden......</center>";
          }
    }
}

?>

So, nächster Part:

PHP:
<?php

$Com=new comments;
if(empty($limit)){$limit=0;}
$menge = $Com->count_comments();
$sites = ($menge / 10) - ($menge % 10 + 10);
if(!empty($show))
{
    $comments = $Com->get_comments($show,$limit);
    if(!empty($comments))
    {
         for($x=0;$x<count($comments);$x++)
         {
               echo "<p>Kommentar von: <a href=\"mailto:",$comments[$x][1],"\">",$comments[$x][0],"</a> am ",$comments[$x][3]," um ",$comments[$x][4],"</p>\n";
               echo "<p>",$comments[$x][2],"</p>\n\n";
         }
         if($menge>10 && $limit<$sites){echo "<a href=\"comments.php?limit=", $limit+1 ,"\">Nächste Seite</a>";}
    }
}

if(!empty($makenew))
{
     ?>
     <form action="comments.php">
     <input type="hidden" name="song" value="<?echo $makenew;?>">
     Name: <input type="text" name="name">
     EMail: <input type="text" name="email">
     Kommentar:<br><textarea name="kommentar"></textarea>
     <input type="submit" value="Kommentar abgeben">
     </form>
     <?php
}

if(!empty($name) && !empty($email) && !empty($kommentar) && !$makenew && !$show)
{
     $Com->write_comments($name,$email,$kommentar,$song);
}
elseif(!$makenew && !$show)
{
     echo "Du musst schon alles ausfüllen";
}

?>

S in de Art könnte das hinhauen. Probiers mal und meld dich dann wieder.
 
Zurück
Oben