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 1 von Strg_Alt_Entf vom 16.11.2019, 17:20 Options

Wirklich überhaupt keine Idee?
    Es ist vielleicht doch nicht so einfach, da ihr euch in den Quelltext erst einlesen müsstet (hätte ich auch keine Lust ;-))
Wenn es für euch einfacher wäre, könnt ihr auch gerne auf ein anderes Script im Internet verweisen (ohne Werbung, und so, dass man es anpassen darf) oder hier eins posten, falls ihr z.B. selbst eines auf eurer Homepage oder so verwendet.

Viele Grüße und vielen Dank
Strg_Alt_Entf

Antwort 2 von Martina vom 18.11.2019, 08:22 Options

Hallochen,

wenn du eine mySQL-Datenbank zur Verfügung hast, würde ich lieber die Beiträge dort ablegen und zur Ausgabe für die einzelnen Seiten dann in einer Schleife wieder auslesen.

Du kannst alle Kommentare in eine Datei schreiben. Es wird der letzte Kommentar einfach hinten drangehängt.

in /kommentar/schreibe.php:

$fp = fopen($file,"a+"); 
51   fputs($fp,"<p><b>$Kommentator schrieb am $datum</b>:<br>$Kommentar</p>\n"); 
52   fclose($fp); 

Diese Datei wird dann auf der entsprechenden Seite ausgelesen.

Du könntest dir im Dateinamen auch noch speichern, von welchem Formular der Beitrag gesendet wurde. Dazu müsstest du dir die Dateien /kommentar/kommentar.php und /kommentar/schreibe.php für jedes Formblatt separat abspeichern. und dort den Dateinamen der zu speichernden Datei ändern.

in /kommentar/schreibe.php:
 $file = "kommentare/[b]vonSeite1[/b]".$Kdateiname.".txt";



in /kommentar/kommentar.php:

// Dateiname ermitteln (auf Zeile 47)
86  $titel=explode("/","$_SERVER[PHP_SELF]"); 


Ich hoffe, dir damit ein bissel geholfen zu haben.
Wenn du noch Fragen hast, frag ruhig weiter.

LG Martina

Antwort 3 von Strg_Alt_Entf vom 18.11.2019, 15:28 Options

Danke Martina für deine Antwort.

Leider habe ich von MySQL recht wenig Ahnung (habe nur 1 mal ein mySQL Forum installiert).
Daher weiß ich jetzt nicht, wie und wo ich anfangen soll. Eine neue Datenbank habe ich bereits erstellt, allerdings ohne Inhalt.

Wäre es daher nicht mit PHP einfacher?

Gruß

Antwort 4 von Martina vom 18.11.2019, 19:21 Options

Hallochen,

du kannst mit php auch auf die einzelnen Tabellen der mySQL-Datenbank zugreifen. Das gilt fürs abspeichern der Daten als auch fürs auslesen.

Ich schreib dir das mal kurz auf:
legst dir in der mySQL-Datenbank eine Tabelle mit dem Namen z.B. KOMMENTAR an. In dieser Tabelle legst du dir Spalten für lfd_nr, datum, kommentar, vonSeite ... an. Die Spalte lfd_nr sollte als Autoindex mit automatischer Erhöhung definiert werden.

function VerbindungHerstellen() {		
// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
	$verbindung = mysql_connect(HOST, BENUTZERNAME, PASSWORT)
	or die ("Fehler - Keine Verbindung (login) möglich");
	
// Auswählen der Datenbank "mySQL-DB"
	$db = mysql_select_db(DATENBANK, $verbindung)
	or die ("Fehler - Keine Verbindung zur Datenbank möglich");
	
// Zugriff auf die Tabelle KOMMENTAR
	$result = mysql_query("SELECT * FROM  KOMMENTAR")
	or die ("Fehler - Keine Verbindung zur Tabelle möglich");
// Systemressourcen wieder freigeben		
	mysql_free_result($result);  }

// neuen Datensatz speichern			
$sql = "INSERT INTO SKBAM_USER (datum,kommentar,vonSeite) VALUES ('$datum','$kommentar','$vonSeite')";	

Dann fügst du an der entsprechenden Stelle auf deiner Seite z.B. noch folgendes ein:

          <table>
                  <!-- Ausgabe der Tabellendaten -->
                  <?PHP	
                   $anzahl = 0;	
/*Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife*/					while ($line = mysql_fetch_array($result)) {
	      if ($line['vonSeite'] == [i]gewünschteSeite[/i]) { 
                           $anzahl++; ?>
                     <tr>
                          <td>lfd Nr: <?=$line['lfd_nr']?></td>
                          <td>datum: <?=$line['datum']?></td>
                          <td>Kommentar: <?=$line['kommentar']?></td>
                     </tr>
                          }
                    <?PHP } ?>
            </table>


Ich hoffe, du kommst damit klar. Wenn nicht frag ruhig weiter.

LG Martina

Antwort 5 von Strg_Alt_Entf vom 19.11.2019, 14:54 Options

Danke, verstehe es noch nicht ganz.

Zitat:
legst dir in der mySQL-Datenbank eine Tabelle mit dem Namen z.B. KOMMENTAR an. In dieser Tabelle legst du dir Spalten für lfd_nr, datum, kommentar, vonSeite ... an. Die Spalte lfd_nr sollte als Autoindex mit automatischer Erhöhung definiert werden.


Bin mir nicht sicher, ob ich es richtig angelegt habe.
>> Hier ist ein Screenshot von PHPadmin.

Den Quellcode den du netterweiße gepostet hast, wo kommt der genau hin? In meine alten Dateien vom Threadbeginn, oder in eine neue Datei.

Wenn ich nämlich eine neue Datei erstelle bekomme ich im Browser immer folgende Meldung:
Parse error: syntax error, unexpected $end in /usr/export/www/vhosts/funnetwork/hosting/jaibee/test/index.php on line 45 (= immer die letzte Zeile)

Das ist der Inhalt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kommentar Test-Seite</title>
</head>
<body>
  <?PHP
function VerbindungHerstellen() {      
// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
   $verbindung = mysql_connect(localhost, jaibee_02, ***pwd***)
   or die ("Fehler - Keine Verbindung (login) möglich");
   
// Auswählen der Datenbank "mySQL-DB"
   $db = mysql_select_db(jaibee_02, $verbindung)
   or die ("Fehler - Keine Verbindung zur Datenbank möglich");
   
// Zugriff auf die Tabelle KOMMENTAR
   $result = mysql_query("SELECT * FROM KOMMENTAR")
   or die ("Fehler - Keine Verbindung zur Tabelle möglich");
// Systemressourcen wieder freigeben      
   mysql_free_result($result); }

// neuen Datensatz speichern         
$sql = "INSERT INTO SKBAM_USER (datum,kommentar,vonSeite) VALUES ('$datum','$kommentar','$vonSeite')";  
?>
<p>Kommetar-Box Test-Seite </p>
<table>
<!-- Ausgabe der Tabellendaten -->
<?PHP   
$anzahl = 0;   
/*Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife*/               
	while ($line = mysql_fetch_array($result)) {
    if ($line['vonSeite'] == kommentartest) {
$anzahl++; ?>
<tr>
<td>lfd Nr: <?=$line['lfd_nr']?></td>
<td>datum: <?=$line['datum']?></td>
<td>Kommentar: <?=$line['kommentar']?></td>
</tr>
}
<?PHP } ?>
</table>
</body>
</html>



Danke für die Hilfe

Gruß

Antwort 6 von Martina vom 19.11.2019, 16:00 Options

Hallochen,

in der Datenbank würde ich mir lfd_nr als Primary anlegen.
Sonst sieht es gut aus.

Versuche es doch dann mal damit:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kommentar Test-Seite</title>
</head>

<body>
<?PHP
// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
$verbindung = mysql_connect(localhost, jaibee_02, ***pwd***)
or die ("Fehler - Keine Verbindung (login) möglich");

// Auswählen der Datenbank "mySQL-DB"
$db = mysql_select_db(jaibee_02, $verbindung)
or die ("Fehler - Keine Verbindung zur Datenbank möglich");

// Zugriff auf die Tabelle KOMMENTAR
$result = mysql_query("SELECT * FROM KOMMENTAR")
or die ("Fehler - Keine Verbindung zur Tabelle möglich");
?>

<p>Kommetar-Box Test-Seite </p>
<table>
   <!-- Ausgabe der Tabellendaten -->
   <?PHP 
   $anzahl = 0; 
   // Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
   while ($line = mysql_fetch_array($result)) {
   	if ($line['vonSeite'] == [b][u]kommentartest[/u][/b]) {
   	$anzahl++; ?>
   <tr>
      <td>lfd Nr: <?=$line['lfd_nr']?></td>
      <td>datum: <?=$line['datum']?></td>
      <td>Kommentar: <?=$line['kommentar']?></td>
   </tr>
      <?PHP } 
	} ?>
</table>
<?PHP
// Systemressourcen wieder freigeben 
mysql_free_result($result);
//Datenbank schließen
mysql_close ($db_verbindung);	
?>
</body>
</html>


Dann habe ich noch einen kleinen Fehler bemerkt:
Siehe unterstrichenen Text. Du schreibst kommentartext. Entwerder ist kommentartext eine Variable. Diese musst du dann vorher deklarieren. Dann wird sie so $kommentartext geschrieben. Oder du gibst gleich den richtigen Wert ein. Dann aber eingeschlossen in "kommentartext".

LG Martina

Antwort 7 von Strg_Alt_Entf vom 19.11.2019, 16:08 Options

Ok, habe es geändert:

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


Heißt das dann, das das Kommentar in die Datei kommentartest geschrieben wird? In welchem Ordner liegt diese dann?


Es gibt leider immer noch einen Fehler:
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /usr/export/www/vhosts/funnetwork/hosting/jaibee/test/index.php on line 44
Das fett-geschriebene ist Zeile 44:

Zitat:
<?PHP
// Systemressourcen wieder freigeben
mysql_free_result($result);
//Datenbank schließen
mysql_close ($db_verbindung);
?>


Gruß

Antwort 8 von Martina vom 19.11.2019, 20:08 Options

Hallochen,

ich habe gerade gesehen, dass du wahrscheinlich noch keine Daten in deiner Tabelle KOMMENTAR zu stehen hast. Es wäre günsig, dort wenigstens einen Datensatz herein zu schreiben. Das kannst du auch erst einmal über phpMyAdmin tun.

Der Kommentar, der vom Nutzer geschrieben wird, wird dann in keine Datei geschrieben, sondern als Datensatz in deine Tabelle KOMMENTAR. Das erfolgt über:
Zitat:
// neuen Datensatz speichern         
$sql = "INSERT INTO SKBAM_USER (datum,kommentar,vonSeite) VALUES ('$datum','$kommentar','$vonSeite')"; 


Hier nun zum Auslesen der Daten aus der mySQL-Datenbank:
Zitat:
// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
if ($line['vonSeite'] == "kommentartest") {
$anzahl++; ?>


Hier wird mit "kommentartext" die html-Seite gemeint, auf der der Datensatz angezeigt werden soll. Das bedeutet, dass du auf jeder html-Seite eine andere Kennung dafür benutzen musst, wenn du möchtest, dass auf unterschiedlichen Seiten auch unterschiedliche Kommentare stehen.
Wenn du dann immer noch diese Fehlermeldung bekommst, kannst du ja mal versuchen,
Zitat:
 // Datenbank schließen
mysql_close ($db_verbindung); 
wegzulassen.

LG Martina

Antwort 9 von Strg_Alt_Entf vom 19.11.2019, 21:02 Options

Danke, die Box wird jetzt >> angezeigt.

Habe
Zitat:
// Datenbank schließen
mysql_close ($db_verbindung);

entfernt und auch diese Zeile geändert:
Zitat:
// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
if ($line['vonSeite'] == $kommentartest) {
$anzahl++; ?>


Jetzt bekomme ich es auch alleine nicht hin, ein Formular zu schreiben, dass die Kommentare erfasst und in die Tabelle schreibt.


Gruß und nochmals vielen Dank!!

Antwort 10 von Martina vom 20.11.2019, 07:35 Options

Hallochen,

... und so schreibst du die Daten in deine Datenbank:

Du legst dir eine html-Seite an. Sagen wir mal sie heißt seite1.htm.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kommentar Test-Seite</title>
</head>
<body> 
   <table>
      <tr>
         <td align="right">
            <form method="POST" action="[b]save.php[/b]" onSubmit="">
               <table>  	            
                  <tr>
                     <td>Kommentar: 
                     <input type="hidden" name="vonseite" value="zB_Seite1"></td>               
                     <td><textarea name="author" cols="30" rows="5"></textarea></td></tr></table>	
               <br>		
               <input type="submit" 
                      value="Daten speichern" 
                      name="save">	
            </form>
         </td></tr></table>
</body>
</html>

Dann schreibst du in eine php-Datei mit dem Namen save.php folgendes:

<?PHP
	# Eintag übernehmen
		$kommentar = $_POST['kommentar'];
		$vonseite = $_POST['vonseite'];
	
   # aktuelles Datum solltest du in der mySQL-Datenbank so definieren, dass dies automatisch eingetragen wird.		
		
	# Verbindung herstellen
		// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
		$verbindung = mysql_connect(HOST, BENUTZERNAME, PASSWORT)
		or die ("Fehler - Keine Verbindung (login) möglich");
		
		// Auswählen der Datenbank
		$db = mysql_select_db(DATENBANK, $verbindung)
		or die ("Fehler - Keine Verbindung zur Datenbank möglich");
		
		// Zugriff auf die Tabelle "KOMMENTAR"
		$result = mysql_query("SELECT * FROM KOMMENTAR")
		or die ("Fehler - Keine Verbindung zur Tabelle möglich");
				
		mysql_free_result($result);  # Systemressourcen wieder freigeben
		
	# Einträge speichern	(Datum und lfd_nr werden automatisch in die DB eingetragen )
      $sql = "INSERT INTO KOMMENTAR (kommentar,vonseite) 
             VALUES ('$kommentar','$vonseite')";         
      $result = mysql_query($sql);		      
      if($result==1){
         #echo "<br> $result Datensatz abgespeichert<br><br>"; # hier musst du dir noch eine geeignete Ausgabe einfallen lassen
      } else {
         #echo "<br><br>keine Daten abgespeichert<br><br>";	# hier musst du dir noch eine geeignete Ausgabe einfallen
      }
							
	# Datenbankverbindung trennen (oder lässt es wieder weg)
		mysql_close();
		
		include ("[b]seite1.htm[/b]");	
?>		


LG Martina

Antwort 11 von Strg_Alt_Entf vom 20.11.2019, 15:49 Options

Danke für den Quellcode. Vorhin hat es funktioniert - dann hab ich irgendwas verändert (u.a. Feld für Name) und jetzt geht es plötzlich wieder nicht.... Vielleicht findest du ja den Fehler.

index.php (enthält Ausgabe der Kommentare und Formular zum schreiben):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kommentar Test-Seite</title>
</head>

<body>
<?PHP
// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
$verbindung = mysql_connect(localhost, jaibee_02, *passwort*)
or die ("Fehler - Keine Verbindung (login) möglich");

// Auswählen der Datenbank "mySQL-DB"
$db = mysql_select_db(jaibee_02, $verbindung)
or die ("Fehler - Keine Verbindung zur Datenbank möglich");

// Zugriff auf die Tabelle KOMMENTAR
$result = mysql_query("SELECT * FROM KOMMENTAR")
or die ("Fehler - Keine Verbindung zur Tabelle möglich");
?>

<p>Kommetar-Box Test</p>
<!-- Ausgabe der Tabellendaten -->
<?PHP
$anzahl = 0;
// Ausgabe der Daten aus dem Array $result innerhalb der While-Schleife
while ($line = mysql_fetch_array($result)) {
   if ($line['vonSeite'] == $kommentartest) {
   $anzahl++; ?>
(Nr.: <?=$line['lfd_nr']?>)<b><?=$line['name']?> schrieb am <?=$line['datum']?></b><br><?=$line['kommentar']?><br><br>
<?PHP }
   } ?>
   
<?PHP
	// Systemressourcen wieder freigeben
	mysql_free_result($result);
	//Datenbank schließen
	//mysql_close ($db_verbindung);   
?>
<p>&nbsp;</p>
<p>Kommentar schreiben (Test)</p>
<table style="background-color:#0066CC">
<tr>
<td align="right"><form method="POST" action="save.php" onSubmit="">
<table style="background-color:#FF9900">
<tr>
	<td>Name:<input type="hidden" name="vonseite" value="kommentartest"></td>
	<td><input name="name" type="text" value="" size="20">
</tr>
<tr>
	<td>Kommentar:<input type="hidden" name="vonseite" value="kommentartest"></td>
	<td><textarea name="kommentar" cols="30" rows="5"></textarea>
</td></tr></table>   
<br>      
<input type="submit"
value="Kommentar speichern"
name="save">   
</form></td></tr></table>
</body>
</html>


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


und save.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kommentar Test-Seite</title>
</head>
<body>
<?PHP
# Eintag übernehmen
$name = $_POST['name'];
$kommentar = $_POST['kommentar'];
$vonseite = $_POST['vonseite'];

# aktuelles Datum solltest du in der mySQL-Datenbank so definieren, dass dies automatisch eingetragen wird.

# Verbindung herstellen
// Versuch Datenbankverbindung herzustellen, bei Fehlschlag Ausgabe der Fehlermeldung
$verbindung = mysql_connect(localhost, jaibee_02, *passwort*)
or die ("Fehler - Keine Verbindung (login) möglich");

// Auswählen der Datenbank
$db = mysql_select_db(jaibee_02, $verbindung)
or die ("Fehler - Keine Verbindung zur Datenbank möglich");

// Zugriff auf die Tabelle "KOMMENTAR"
$result = mysql_query("SELECT * FROM KOMMENTAR")
or die ("Fehler - Keine Verbindung zur Tabelle möglich");

mysql_free_result($result); # Systemressourcen wieder freigeben

# Einträge speichern (Datum und lfd_nr werden automatisch in die DB eingetragen )
$sql = "INSERT INTO KOMMENTAR (name,kommentar,vonseite)
VALUES ('$name','$kommentar','$vonseite',)";
$result = mysql_query($sql);
if($result==1){
#echo "<br> $result Datensatz abgespeichert<br><br>"; # hier musst du dir noch eine geeignete Ausgabe einfallen lassen
[b]} else { echo "Dein Kommentar wurde gespeichert"; }[/b]

#echo "<br><br>keine Daten abgespeichert<br><br>"; # hier musst du dir noch eine geeignete Ausgabe einfallen
[b]// } else { echo "Senden des Kommentares fehlgeschlagen"; }[/b]

# Datenbankverbindung trennen (oder lässt es wieder weg)
mysql_close();

include ("index.php");
?>
</body>
</html>



Bei 2 Dingen bin ich mir noch nicht sicher, ob ich es richtig gemacht habe:
1. Bestätigung, nach Senden
2. Aktuelles Datum einfügen:
Dafür habe ich im Netz verschieden Möglichkeiten gefunden. Ich habe bei PHPmyadmin dem Feld datum den Typ timestamp und als Standard current_timestamp. Format ist aber nicht so schön.

Vielen Dank und Gruß

Antwort 12 von Martina vom 20.11.2019, 17:53 Options

Hallochen,

du schreibst:
Zitat:
<input name="name" type="text" value="" size="20">

Ich glaube, das solltest du lieber so schreiben:
<input name="name" type="text" size="20">


Dann sollte es funktionieren.

LG Martina

Antwort 13 von Strg_Alt_Entf vom 20.11.2019, 19:59 Options

Zitat:
Ich glaube, das solltest du lieber so schreiben:
<input name="name" type="text" size="20">

Danke, aber es geht leider immer noch nicht.

Gruß

Antwort 14 von Martina vom 21.11.2019, 07:16 Options

Hallochen,

du hattest geschrieben:
Zitat:
Danke für den Quellcode. Vorhin hat es funktioniert - dann hab ich irgendwas verändert (u.a. Feld für Name) und jetzt geht es plötzlich wieder nicht....

Versuche doch mal diesen Zustand wieder herzustellen.
Oder geb mir mal den Link auf deine Seite, Was bekommst du für eine Fehlermeldung?

LG Martina

Antwort 15 von Strg_Alt_Entf vom 21.11.2019, 14:02 Options

Zitat:
Versuche doch mal diesen Zustand wieder herzustellen.

Habe ich natürlich schon probiert.

Eine Fehlermeldung bekomme ich nicht. Im Gegenteil: Es wird bestätigt, dass das Kommentar erfolgreich gesendet wurde.

>> Hier ist die Seite, um die es geht.

Gruß

Antwort 16 von Martina vom 21.11.2019, 20:51 Options

Hallochen,

Ich habe es mal ausprobiert. Es wird nach dem Abschicken folgendes angezeigt: Dein Kommentar wurde gespeichert .
Siehe mal hier muss der Fehler sein:

if($result==1) {
#echo "<br> $result Datensatz abgespeichert<br><br>"; # hier musst du dir noch eine geeignete Ausgabe einfallen lassen
} else { echo "[b][u]Dein Kommentar wurde gespeichert[/u][/b]"; }

#echo "<br><br>keine Daten abgespeichert<br><br>"; # hier musst du dir noch eine geeignete Ausgabe einfallen
// } else { echo "Senden des Kommentares fehlgeschlagen"; }


Richtig muss es heißen:

if($result==1) {
     echo "<br> $result Datensatz abgespeichert<br><br>";
     echo "[b][u]Dein Kommentar wurde gespeichert[/u][/b]"; 
     
} else {  
     echo "<br><br>keine Daten abgespeichert<br><br>";     
     echo "[b][u]Dein Kommentar wurde nicht gespeichert[/u][/b]"; 
}

Zur Kontrolle könntest du ja noch unter
# Eintag übernehmen
    $name = $_POST['name'];
$kommentar = $_POST['kommentar'];
$vonseite = $_POST['vonseite'];

folgendes einfügen:
print_r ("<br>name: ". $name. " * kommentar: ".$kommentar. " * vonseite: ".$vonseite);


LG Martina

Antwort 17 von Strg_Alt_Entf vom 21.11.2019, 21:23 Options

Danke
Zitat:
Richtig muss es heißen:

if($result==1) {
echo "<br> $result Datensatz abgespeichert<br><br>";
echo "Dein Kommentar wurde gespeichert";

} else {
echo "<br><br>keine Daten abgespeichert<br><br>";
echo "Dein Kommentar wurde nicht gespeichert";
}


Jetzt wird immerhin angezeigt, dass es nicht geht.


Zitat:
Zur Kontrolle könntest du ja noch unter
# Eintag übernehmen
$name = $_POST['name'];
$kommentar = $_POST['kommentar'];
$vonseite = $_POST['vonseite'];

folgendes einfügen:
print_r ("<br>name: ". $name. " * kommentar: ".$kommentar. " * vonseite: ".$vonseite);

Entschuldigung, dummer Frage, aber wie muss ich es drunter setzen? Einfach reinkopieren geht ja nicht, da noch irgendwelche Tags fehlen..

Gruß

Antwort 18 von Martina vom 22.11.2019, 06:11 Options

Hallochen,

kannst statt print_r() auch echo nehmen.

Eigentlich sollte da nichts fehlen,
Dir sollen dann die übergebenen Werte für $name, $kommentar und $vonseite angezeigt werden .

schreibst also so:

# Eintag übernehmen
$name = $_POST['name'];
$kommentar = $_POST['kommentar'];
$vonseite = $_POST['vonseite'];
# Ausgabe der Werte zum Test
print_r ("<br>name: ". $name. " * kommentar: ".$kommentar. " * vonseite: ".$vonseite);


Ab hier geht der Quellcode wie gehabt weiter.

LG Martina

Antwort 19 von Strg_Alt_Entf vom 22.11.2019, 14:47 Options

Ok die Probe klappt jetzt. Also liegt es irgendwie am schrieben in die DB.

Ich habe nochmal einen >> Screenshot von PHPmyAdmin gemacht. und hier
>> die Seite mit dem Kommentar.

Ich weiß wirklich nicht, wo das Problem liegt. Zugangsdaten habe ich auch schon überprüft.
Habe noch den >> Quellcode von save.php und den >> Quellcode von index.php hochgeladen.

Vielleicht siehst du (oder jmd. anderes) den Fehler.

Vielen Dank und Gruß

Antwort 20 von Martina vom 22.11.2019, 15:04 OptionsLösung

Lösung
Hallochen,

du schreibst in Zeile 36 deiner save.php:
Zitat:
VALUES ('$name','$kommentar','$vonseite',)";


richtig muss es heißen:
VALUES ('$name','$kommentar','$vonseite')";


Kannst es ja noch mal versuchen.

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