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

kommentare

Status
Für weitere Antworten geschlossen.

wolf360

Neues Mitglied
Okey, ich will ein paar kommentare auf bestimmten teilen meiner hompage machn... abba leider kann ich dafü zu wenig php/msql?!

hab mal ein bissl rumprobiert hier mal der code:

PHP:
<form method="post"> 
Name: 
<input name="name" type="text"></input><br> 
Text: 
<input name="text" type="text"></input><br> 
ID: 
<form method="post"> 
<input type="text" name="test1" ></input> 
</form> 

</form> 


<?php 

$host = "localhost"; 
$benutzer= "wolf360"; 
$kennwort = "XXXXXX"; 


//verbindungsaufbau 
$verbindung = mysql_connect($host, $benutzer , $kennwort); 

mysql_select_db('wolf360_02'); 

  $name = $_POST["name"]; 
  $text = $_POST["test"]; 


  $eintrag = "INSERT INTO kommentar (name, test) VALUES ('$name', '$test')"; 

  $eintragen = mysql_query($eintrag); 

$id = (int) $_POST['test1']; 
$sql = "SELECT * FROM kommentar WHERE ID ='$id'"; 
$query = mysql_query($sql); 

//ausgabe der Daten 
while($row = mysql_fetch_array($query)) { 
echo "Name: ".$row['name']."<br />\n"; 
echo "Text: ".$row['test']."<br />\n"; 
} 

?>

okey des eintragn klappt, abba die ausgabe noch nicht, und jedes mal wenn ich die seite neu lad, findet auch ein eintrag stadt... wie änder ich des??=

gruß wolf360
 
Zuletzt bearbeitet von einem Moderator:
du musst das auch als bedingung schreiben, da sonst beide aktionen gleichzeitig ausgeführt werden.
und lass' register_globals weg...

z.b.:

PHP:
<?php
if($_GET['action'] == 'eintragen')
   {
   //eintragsfunktion
   }
      elseif($_GET['action'] == 'anzeigen')
         {
         //anzeigefunktion
         }
?>

ist nur ein beispiel für die verwendung einer GET-variablen, lässt sich auch anders machen, aber das hier erscheint mir als das sinnvollste.

Nils aka XraYSoLo
 
was ist register_globals ?!

ich hab etz mal den den code umgeändert nach deiner empfehlung, so wie ichs glaube, abba es funtz nich?!

HTML:
<form method="post">
Name:
<input name="name" type="text"></input><br>
Text:
<input name="text" type="text"></input><br>
ID:
<form method="post">
<input type="text" name="1" ></input>
</form>

</form>


<?php

$host = "localhost";
$benutzer= "wolf360";
$kennwort = "XXXXX";


//verbindungsaufbau
$verbindung = mysql_connect($host, $benutzer , $kennwort);

mysql_select_db('wolf360_02');
?>

<?php
if($_GET['action'] == 'eintragen')
   {
   $name = $_POST["name"];
  $text = $_POST["test"];


  $eintrag = "INSERT INTO kommentar (name, test) VALUES ('$name', '$test')";

  $eintragen = mysql_query($eintrag);
   }
      elseif($_GET['action'] == 'anzeigen')
         {
         $id = (int) $_POST['1'];
$sql = "SELECT * FROM kommentar WHERE ID ='$id'";
$query = mysql_query($sql);

//ausgabe der Daten
while($row = mysql_fetch_array($query)) {
echo "Name: ".$row['name']."<br />\n";
echo "Text: ".$row['test']."<br />\n";
}
         }
?>
 
Zuletzt bearbeitet:
ich hab etz mal den den code umgeändert nach deiner empfehlung, so wie ichs glaube, abba es funtz nich?!

HTML:
<form method="post">
Name:
<input name="name" type="text"></input><br>
Text:
<input name="text" type="text"></input><br>
ID:
<form method="post"> <input type="text" name="1" ></input> </form> </form> <?php

$host = "localhost";
$benutzer= "wolf360";
$kennwort = "XXXXX";


//verbindungsaufbau
$verbindung = mysql_connect($host, $benutzer , $kennwort);

mysql_select_db('wolf360_02');
?> <?php
if($_GET['action'] == 'eintragen')
   {
   $name = $_POST["name"];
  $text = $_POST["test"];


  $eintrag = "INSERT INTO kommentar (name, test) VALUES ('".$_POST['name']."', '".$_POST['test']."')";

  $eintragen = mysql_query($eintrag);
   }
      elseif($_GET['action'] == 'anzeigen')
         {
         $id = (int) $_POST['1'];
$sql = "SELECT * FROM kommentar WHERE ID ='$id'";
$query = mysql_query($sql);

//ausgabe der Daten
while($row = mysql_fetch_array($query)) {
echo "Name: ".$row['name']."<br />\n";
echo "Text: ".$row['test']."<br />\n";
}
         }
?>
 
Mach mal ein error_reporting(E_ALL) an den anfang deines Scriptes und schreib dann, falls eine Fehlermeldung auftritt.
 
okey, fehler gefunden!!!

kann mir jetzt noch jemand sagn, wie ich des regle, dass alle kommentare, die bereits eingetragn sind ausgegebn werden, und der neue einfach zu kommt, praktisch wie im forum hier?!
 
Zuletzt bearbeitet:
aber wenn ich des so wie du mach, wird des alles nebeneinander ausgegeben, oder zuminderst bei mir!,
abba ich will des ja irgendwie schaffn wie im forum hier, der neue eintrag bekommt ja ne id, und der soll dann einfach über dem neuen erscheinen und nich neben?!

ich will den name und die kommentare nach id sotier haben?!
HTML:
<?php
$sql = "SELECT * FROM kommentar";

echo $row['Name'];
echo $row['text'];
?>

aber wenn ich des so wie du mach, wird des alles nebeneinander ausgegeben, oder zuminderst bei mir!,
abba ich will des ja irgendwie schaffn wie im forum hier, der neue eintrag bekommt ja ne id, und der soll dann einfach über dem neuen erscheinen und nich neben?!
 
dann schreibs eben auch so:

PHP:
<?php
while($row = mysql_fetch_array($query))
   {
   echo 'Name: '.$row['name'].'<br>Text: '.$row['test'].'<p>';
   }
?>

Nils aka XraYSoLo
 
ja schon klar, abba jetzt, werdn alle inhalte von z.B. name nebeneinader gezeigt, oder..?!

abba ich will des irgendwie schaffn wie im forum hier, halt, neue beiträge werdn übereinander "gestapelt"
 
Dann füg halt die Formatierungen die du haben willst in die schleife ein :roll:
 
Zuletzt bearbeitet von einem Moderator:
mhhhh... okey, da des ja etz so schön klappt, dacht ich mir fügs des gleich in deine hp ein, mit ner tabelle, abba irgendwas klappt nicht,

wie erstell ich ne tabelle mit php?!, geht des übehaupt mit php?

kann man das auch noch irgendwie regeln, das man z.B. nur 10 einräge pro seiten anzeigen lassn soll?!

und wie mach ich das kommentarfeld "spamsicher"? ich würd des irgendwie mit session/cookies, machn, abba wenn der browser die cookies deaktiviert hat, soll er auch keine kommentare schreiben können?! weil ip zu speicher is doch zu aufwändig oder ?
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben