online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Strg_Alt_Entf vom 14.11.2019, 21:28 Options

Lösung

Benötige Hilfe beim Anpassen einer Kommentar-Box

Hallo,

ich stehe mit meiner Homepage wieder einmal vor einem Problem.
Ich möchte meinen Besuchern die Möglichkeit geben, auf bestimmten Seiten direkt ein Kommentar zu schreiben.

Dazu verwende ich dieses Script. Ich möchte es allerding noch etwas anpassen, kenne mich jedoch mit PHP nur sehr mäßig aus.


1. Wie entferne ich den E-Mail-Versand? Ich möchte nicht, dass ich jedes Kommentar bestätigen muss, da es sowieso nicht richtig funktioniert.
Wenn die Besucher auf Abschicken klicken, soll ihr Text direkt in der Kommentarbox erscheinen.


2. Ich verwende das Script auf mehreren Unterseiten und include jedes Mal die Datei /kommentar/kommentar.php.
Diese erzeugt dann im Ordner /kommentar/kommentare/ eine Textdatei mit dem Namen Seitenname.txt.
Daraus ergibt sich ein Problem: Ich arbeite mit etlichen index.php-Dateien: /tipps/ordnervorschaubilder/index.php; /tipps/youtube-downloaden/index.php
=> Es wird nur eine Datei index.txt erzeugt, weil beide Seiten ja den selben Namen haben. Aber es sollen ja verschiedene Textdateien für verschiedene Seiten erstellt werden.
Habt ihr eine Idee?



So, wenn ihr bis jetzt noch mitgekommen seid, hier der Code:

/kommentar/kommentar.php:


/kommentar/schreibe.php:


Gruß Strg_Alt_Entf


Antwort schreiben

Antwort 21 von Strg_Alt_Entf vom 22.11.2019, 15:44 Options

Klasse es funktioniert! Hätte nicht gedacht, dass ein Koma so etwas auslösen kann.

Vielen Dank für deine ganzen Ratschläge und die Geduld!!
Gruß Strg+Alt+Entf

Antwort 22 von Strg_Alt_Entf vom 22.11.2019, 15:45 Options

oh, ich sehe gerade, dass mir bei Antwort 21 ein lustiger Tippfehler unterlaufen ist...
Es heißt natürlich "Komma" und nicht Koma (wäre nicht gut ;-))

Antwort 23 von Strg_Alt_Entf vom 22.11.2019, 19:59 Options

Habe doch noch zwei Fragen:
    1. Wie kann ich die Reihenfolge ändern - so, dass der neueste Beitrag immer oben steht?

    2. Ich bekomme einfach die Formatierung des Datums nicht hin (bekomme entweder die aktuelle Uhrzeit, oder 1970). Ich benötige aber das Datum des Kommentares im Format DD.MM.JJJJ.
    Kannst du mir da bitte helfen?

Gruß

Antwort 24 von Martina vom 22.11.2019, 21:41 Options

Hallochen,

zu Frage 1:
--> schreibst in deiner index.php
// Zugriff auf die Tabelle KOMMENTAR
$result = mysql_query("SELECT * FROM KOMMENTAR WHERE lfd_nr ORDER BY DESC")
or die ("Fehler - Keine Verbindung zur Tabelle möglich");
?>

Dann erhällst du deinen letzten Eintrag als Erstes angezeigt.

zu Frage 2:
$sec = $datum['seconds'];
$min = $datum['minutes'];
$stunde = $datum['hours'];
$tag = $datum['mday'];
$monat = $datum['mon'];
$jahr = $datum['year'];
$wochentag = $datum['weekday'];

Nutzt dir das was? Kommst du damit klar?

LG Martina

Antwort 25 von Strg_Alt_Entf vom 23.11.2019, 15:10 Options

Danke.
Zitat:
// Zugriff auf die Tabelle KOMMENTAR
$result = mysql_query("SELECT * FROM KOMMENTAR WHERE lfd_nr ORDER BY DESC")
or die ("Fehler - Keine Verbindung zur Tabelle möglich");
?>


Es geht jetzt, wenn auch etwas abgeändert (bekam sonst immer Fehler: "Fehler - Keine Verbindung zur Tabelle möglich"):

// Zugriff auf die Tabelle KOMMENTAR
[b]	$result = mysql_query("SELECT * FROM KOMMENTAR ORDER BY lfd_nr DESC")[/b]
	or die ("Fehler - Keine Verbindung zur Tabelle möglich");



Zitat:
zu Frage 2:
$sec = $datum['seconds'];
$min = $datum['minutes'];
$stunde = $datum['hours'];
$tag = $datum['mday'];
$monat = $datum['mon'];
$jahr = $datum['year'];
$wochentag = $datum['weekday'];

Nutzt dir das was? Kommst du damit klar?


Bekomme das 2te nicht korrekt eingebunden. Habe schon einiges ausprobiert, jedoch wird es immer ignoriert (also nichts angezeigt)

Gruß

Antwort 26 von Martina vom 23.11.2019, 15:20 Options

Hallochen,

du schreibst:
Zitat:
Bekomme das 2te nicht korrekt eingebunden. Habe schon einiges ausprobiert, jedoch wird es immer ignoriert (also nichts angezeigt)

Schreibe doch mal, wie und wo du das eingebunden hast.

LG Martina

Antwort 27 von Strg_Alt_Entf vom 23.11.2019, 15:25 Options

Zitat:
Schreibe doch mal, wie und wo du das eingebunden hast.


Kann ich machen, ich hatte jeoch verschiedene Möglichkeiten durchprobiert.
Hier mal eine:


// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
	while ($line = mysql_fetch_array($result)) {
	if ($line['vonSeite'] == $kommentartest) {
	$anzahl++; ?>

	<b><?=$line['name']?></b> schrieb
	am <?=$sec = $datum['seconds'];
			$min = $datum['minutes'];
			$stunde = $datum['hours'];
			$tag = $datum['mday'];
			$monat = $datum['mon'];
			$jahr = $datum['year'];
			$wochentag = $datum['weekday'];
			$line['datum']?>:<br>
	<i><?=$line['kommentar']?></i><br><br>

Antwort 28 von Martina vom 23.11.2019, 15:44 Options

Hallochen,

dann versuche es mal so:

// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
   while ($line = mysql_fetch_array($result)) {
   if ($line['vonSeite'] == $kommentartest) {
   $anzahl++; ?>

   <b><?=$line['name']?></b> schrieb
   am <? $datum=$line['datum'];?><br>
         sec: <?= $datum['seconds'];?><br>
         min: <?= $datum['minutes'];?><br>
         stunde: <?= $datum['hours'];?><br>
         tag: <?= $datum['mday'];?><br>
         monat: <?= $datum['mon'];?><br>
         jahr :<?= $datum['year'];?><br>
         wochentag: <?= $datum['weekday'];?><br>         
   <i><?=$line['kommentar']?></i><br><br>


LG Martina

Antwort 29 von Strg_Alt_Entf vom 23.11.2019, 15:49 Options

Habe es 1zu1 übernommen, doch auf der Seite sieht es jetzt so aus:

Zitat:
xcvxcv schrieb am
sec: 2
min: 2
stunde: 2
tag: 2
monat: 2
jahr :2
wochentag: 2
xvbxcvxcv


Wo die 2er herkommen weiß ich nicht.

Antwort 30 von Martina vom 23.11.2019, 16:15 Options

Hallochen!

Welches Datum ist in deiner Datenbank gespeichert? Schreibe es mal im genauen Format auf.

LG Martina

Antwort 31 von Strg_Alt_Entf vom 23.11.2019, 16:17 Options

wie bekomme ich das heraus? wenn ich bei PHPmyadmin schaue, steht in der Spalte datum beispielsweise das: 2007-11-23 15:44:38

Gruß

Antwort 32 von Martina vom 23.11.2019, 16:28 Options

Hallochen,

Zitat:
2007-11-23 15:44:38

das ist doch super.

Das heißt
Datum: 23.11.2007
Zeit: 15:44 Uhr und 38sec

Zum Auslesen kannst du ja auch noch folgendes versuchen:

// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
	if ($line['vonSeite'] == $kommentartest) {
		$anzahl++; ?>

      <b><?=$line['name']?></b> schrieb
      am <? $datum=$line['datum'];?><br>
      sec: <?=substr($line[datum],17,2);?><br>
      min: <?=substr($line[datum],14,2);?><br>
      stunde: <?=substr($line[datum],11,2);?><br>
      tag: <?=substr($line[datum],8,2);?><br>
      monat: <?=substr($line[datum],5,2);?><br>
      jahr :<?=substr($line[datum],0,4);?><br>      
      <i><?=$line['kommentar']?></i><br><br>


LG Martina

Antwort 33 von Strg_Alt_Entf vom 23.11.2019, 16:36 Options

Super, es geht. Muss es jetzt nur noch richtig anordnen!

Vielen Dank

Antwort 34 von Martina vom 23.11.2019, 17:01 Options

Das freut mich.
Wünsche dir dann noch viel Spaß.

LG Martina
http://www.top-hp.de

Antwort 35 von Strg_Alt_Entf vom 26.11.2019, 16:22 Options

Beim Einbinden des Formulares in eine Seite hat sich ein weiteres Problem ergeben:
Es werden alle Kommentare ausgegeben/angezeigt, obwohl nur Kommentare vonseite="xyz" erscheinen sollen.

Gruß

Antwort 36 von Martina vom 26.11.2019, 20:03 Options

Hallochen,

du musst mal sehen, was in deiner Tabelle unter vonseite steht. Hier sollte für Einträge unterschiedlicher Seiten auch was unterschiedliches stehen.
Dann liest du folgendes aus:

$vonseite="vonSeite1"; # liest alle Datensätze von Seite 1
// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
   if ($line['vonSeite'] == $vonseite) {
...


Für anderere Seiten nimmst du dann die entsprechende Seite, die ausgelesen werden soll. Du musst natürlich auch die richtige Seite beim Abspeichern einsetzen. Hier im Beispiel müsste es dann so heißen:

$vonseite = "vonSeite1"; # wird zum speichern der Datensätze von Seite 1 benutzt
# Einträge speichern (Datum und lfd_nr werden automatisch in die DB eingetragen )
$sql = "INSERT INTO KOMMENTAR (name,kommentar,vonseite)
VALUES ('$name','$kommentar','$vonseite',)";


Ist das einigermaßen verständlich ausgedrückt?

LG Martina

Antwort 37 von Strg_Alt_Entf vom 26.11.2019, 20:43 Options

Naja es ist mir schon klar, dass ich die Angaben anpassen muss. Hatte ich auch bereits gemacht, aber es funktioniert irgendwie trotzdem nicht.


Habe gerade noch einmal rumprobiert und habe den Fehler gefunden:
Zitat:
$vonseite="downloaden"; # HIER anpassen, welche Datensätze ausgelesen werden sollen (und in Zeile 20!)
// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
if ($line['[b]vonseite[/b]'] == $vonseite) {

Ich habe den fetten Teil auch angepasst. Den muss man aber lassen.
Aber ohne deine Hilfe hätte ich es nicht hinbekommen, da die erste Zeile (vom Code oben) gefehlt hat.

Danke, danke, danke!

- - - - - - - - - - - - - - - - - - - -


$vonseite = "vonSeite1"; # wird zum speichern der Datensätze von Seite 1 benutzt
# Einträge speichern (Datum und lfd_nr werden automatisch in die DB eingetragen )
$sql = "INSERT INTO KOMMENTAR (name,kommentar,vonseite)
VALUES ('$name','$kommentar','$vonseite',)";

Ich glaube, man kann den Anfangsteil weglassen. Ist zumindest bei mir so ;-)

Gruß

Antwort 38 von Strg_Alt_Entf vom 26.11.2019, 20:44 Options

[/quote]Ich habe den fetten Teil auch angepasst.
Wenn er fett wäre... ich meinte diesen Teil:

if ($line['[b]vonseite[/b]'] == $vonseite) {

Antwort 39 von Strg_Alt_Entf vom 26.11.2019, 20:46 Options

formatieren funktioniert nicht bei Code-Teilen. Ich sollte die Vorschaufunktion von Supportnet benutzen.
Aber du weißt ja vermutlich jetzt was ich meine.

Antwort 40 von Martina vom 27.11.2019, 06:30 Options

Hallochen,

du kannst aber auch statt:
$vonseite = "vonSeite1"; # wird zum speichern der Datensätze von Seite 1 benutzt

ein Hidden-Feld auf deiner HTML-Seite mit dem Namen "vonseite" einfügen. Als Value gibst du dann "vonSeite1" ein. Also so:
<input type="hidden" name="vonseite" value="vonSeite1">

Diesen Wert liest du dann auch mit $_POST ein, genau wie den Kommentar usw.

Vorteil ist hierbei, dass du nur eine Datei "save.php" benötigst.

LG Martina

Ähnliche Themen

Kommentar für immer ausblenden in WORD
sun1234  02.04.2007 - 117 Hits -

Benutzername als Kommentar bei Zellenänderung anzeigen!DANKE!
Menikmati  09.11.2007 - 159 Hits - 4 Antworten

Shortcut für Kommentaranzeige in Excel?
Schreiberling  11.12.2007 - 139 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 20:06:00 2026