[GastForen Programmierung/Entwicklung PHP und MySQL kein Speichern von Kommentaren möglich !

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

kein Speichern von Kommentaren möglich !

BratwurstmitSenf
Beiträge gesamt: 59

30. Aug 2005, 13:00
Beitrag # 1 von 1
Bewertung:
(247 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi !

Habe da ein kleines Forum, leider kann ich keine Kommentare zu den Beiträgen schreiben. Eine neue Hauptkategorie kann ich festlegen, aber sobald ich ein Kommentar dazu schreiben will, wird es nicht in die dafür richtige htm seite gespeichert!

Hier Quelltext:
Code
<? 
#Maximale Menge an Haupteinträgen
#werden mehr einträge vorgenommen
#wird der jeweils älteste gelöscht.
$maxbeitrag=50;

#Maximale Anzahl von Einträgen pro Seite
#liegen mehr Einträge vor, wird automatisch eine Navigation erzeugt.
$maxproseite=5;

# Name der Speicherdatei
# existiert diese nicht, wird sie beim
#ersten eintrag angelegt

$maintext="eintraege.txt";

#Forum aufgerufen

if(!$sent)
{
ermitteln(); #ermittelt die vorhandenen Daten
if($daten) #schon daten vorhanden
{
#navigationsleiste schreiben
echo '<span class="normal"><b><a href="'.$PHP_SELF.'?sent=neu">neuen Beitrag schreiben </a></b></span><br>';

schreibedaten(); # Daten schreiben
}
else # noch keine daten vorhanden
{
echo '<span class="normal">Zur Zeit sind keine Beiträge vorhanden. :-))</span><br><br>';
echo '<span class="normal"><b><a href="'.$PHP_SELF.'?sent=neu">neuen Beitrag schreiben </a></b></span><br>';

}

}

# Formular für neuen Eintrag aufgerufen
# oder neuer Eintrag abgeschickt
elseif($sent and ($sent=="neu" or $sent=="neusent"))
{
#Kopfzeilen schreiben
echo '<center><span class="klein"><b> <a href="'.$PHP_SELF.'">zurück zum Forum </a> </b></span><br>';
echo '<span class="normal"><b>Neuer Beitrag:</a> </b></span>';

if($sent=="neusent") # formulardaten abgeschickt
{
if($nick=="" or $thema=="" or strlen($beitrag)<5) #Pflichtfeld leer?
#Fehlermeldung schreiben
echo '<span class="normal"><b><br><br>Nickname, Thema oder Beitrag sind leer. Bitte ergänzen</b></span><br><br>';
else
{
speichern(); #Alles ok , dann eintrag speichern
#Kopfzeilen schreiben
echo '<center><span class="meldungen"><b>Eintrag wurde gespeichert<br>';
#echo '<a href="'.$PHP_SELF.'">zurück zum Forum </a></b></span></center><br><br>';
exit;
}
}

neuformschreiben(); #Formular für neueingabe erstellen
}

# formular für eine Antwort abgeschickt?
elseif($sent and ($sent=="zeigen" or $sent=="neuzeigen"))
{
#Kopfzeile schreiben
echo '<span class="normal"><b><a href="'.$PHP_SELF.'">zurück zum Forum</a>&nbsp;&nbsp;&nbsp<a href="#ANTWORT" >Auf diesen Beitrag antworten </a></b></span><br><hr><br>';

# Pflichtfelder prüfen, wenn leer
if($sent=="neuzeigen" and ($nick=="" or strlen($beitrag)<5))
{
#fehlermeldung schreiben
echo '<span class="normal"><b><br><br>Nickname oder Beitrag sind leer. Bitte ergänzen</b></span><br><br>';
}
#Pflichtfelder ok
elseif($sent=="neuzeigen" and ($nick!="" and strlen($beitrag)>=5))
{
# Eingaben speichern
schreibe_antwortdaten();
}

# Alle Einträge eines Beitrages anzeigen
include("f_".$URL1.".htm");

# antwort formular darstellen
antwortform_schreiben();


}

?>

<?
### Hier die entsprechenden Functionen
# Haupt Einträge auslesen
function ermitteln()
{
global $maintext;
global $dat;
global $daten;
global $PHP_SELF;
if(file_exists($maintext))
{
$dat=file($maintext);
$daten= array();
for($i=0;$i<count($dat);$i++)
{
$daten[]=split("\|\*\|",$dat[$i]);
}
}
}


# Haupteinträge darstellen

function schreibedaten()
{

global $daten;
global $maxproseite;
global $szpara;
global $PHP_SELF;
$data=array_reverse($daten); #Neuster beitrag nach vorn

#Berechnen der maximalen seitenzahl abhängig vom
#vorgegbenen Wert(Eintrag pro seite)
$szahl=ceil(count($data)/$maxproseite);
if(!$szpara)
$szpara=1;

$startwert=($szpara*$maxproseite)-$maxproseite;
if($szpara<$szahl)
{
$endwert=($szpara*$maxproseite)-1;
}
else
{
$endwert=count($data)-1;
}

# Navigation schreiben
echo '<p><span class="normal"><b>Seite:';
for($i=1;$i<=$szahl;$i++)
{
if($i!=$szpara)

echo '<a href="'.$PHP_SELF.'?szpara='.$i.'">&nbsp;'.$i.'</a>&nbsp;';
else
echo $i;
}

#darstellen der bisherigen Beiträge
#Layout kannst Du selbstverständlich ändern
#Die Felder und Feldnamen solltest du beibehlten
#oder aber sorgfältig ändern.
echo '&nbsp;von&nbsp;'.$szahl.'</b></span></p>';
echo '<table border="2" width="600" cellspacing="0" cellpadding="0">';
echo '<tr><td width="200" class="kopf"> <span class="normal">von: </span></td><td class="kopf" width="300"><span class="normal">Thema:</span></td> <td class="kopf" width="50"><span class="klein">Antw.:</span></td><td class="kopf" width="50"> <span class="klein">Datum:</span></td><tr>';

for($i=$startwert;$i<=$endwert;$i++)
{
echo '<tr valign="top"><td> <span class="klein">von:<br>'. $data[$i][2].'<br>mail:<br><a href="mailto:'.$data[$i][3].'">'.$data[$i][3].'</a></span></td> <td><span class="normal"><a href="'.$PHP_SELF.'?sent=zeigen&URL1='.$data[$i][0].'">'.$data[$i][4].'</a></span></td> <td><span class="klein">'.$data[$i][1].'</span></td> <td><span class="klein">'.$data[$i][5].'</span></td></tr>';
}
echo '</table>';
}
?>

<?
#Schreiben der Antwortdaten
function schreibe_antwortdaten()
{
global $email;
global $beitrag;
global $nick;
global $URL1;
global $maintext;
global $PHP_SELF;
$dat=file($maintext); #Auselesen der daten mit den Haupteinträgen
$dat1=array();
for($i=0;$i<count($dat);$i++)
{
$dat1[$i]=split("\|\*\|",$dat[$i]); # Datensatz zerlegen
}


for($i=0;$i<count($dat1);$i++)

{

if($dat1[$i][0]==$URL1) # Passendereintrag (Haupteintragnummer) gefunden


$dat1[$i][1]=$dat1[$i][1]+1; #Zahelervariable erhöhen(der zweite eintrag in der Datenzeile)

}

# Datei öffnen und wert zurückschreiben
$dat=fopen($maintext,"w");
for($i=0;$i<count($dat1);$i++)
{
fputs($dat,$dat1[$i][0]."|*|".$dat1[$i][1]."|*|".$dat1[$i][2]."|*|".$dat1[$i][3]."|*|".$dat1[$i][4]."|*|".$dat1[$i][5]."|*|\n");
}
fclose($dat);


# Datei mit den Beiträgen für den Haupteintrag öffnen
$tempdat=fopen("f_".$URL1.".htm","a");
# Antwortdaten dazuschreiben
$temptext='<br><br><table width="600" cellspacing="0">';
$temptext=$temptext.'<tr><td width="50%" class="kopf"><span class="normal"><b>Antwort von:</b>'.$nick.'<br>Mail:<a href="mailto:'.$email.'">'.$email.'</a></span></td>';
$temptext=$temptext.'<td width="50%"class="kopf" align="right"><span class="normal"><b>vom:</b>'.date("d.m.y:H.i").'</span></td> </tr>';
$temptext=$temptext.'<tr><td colspan="2"><span class="normal">'.stripslashes(nl2br(htmlspecialchars($beitrag))).'</span></td></tr>';
$temptext=$temptext.'</table>';

fputs($tempdat,$temptext);
fclose($tempdat);

#Formularfelder löschen

$nick="";
$beitrag="";
$email="";

}
?>
<?
#Hier das erstellen des Antwortformulars
function neuformschreiben()
{
global $nick;
global $thema;
global $beitrag;
global $email;
global $PHP_SELF;
?>

<center>
<form action="<?echo $PHP_SELF ?>" method="post">
<input type="hidden" name="sent" value="neusent"></input>
<span class="klein">Nickname:(Pflichtfeld)</span><br>
<input type="text" name="nick" value="<?echo stripslashes(nl2br(htmlspecialchars($nick)))?>" size="50" ></input> <br>
<span class="klein">Email:</span><br>
<input type="text" name="email" value="<?echo stripslashes(nl2br(htmlspecialchars($email)))?>" size="50" ></input> <br>
<span class="klein">Thema:(Pflichtfeld)</span><br>
<input type="text" name="thema" value="<?echo stripslashes(nl2br(htmlspecialchars($thema)))?>" size="50" maxlength="50" ></input> <br>
<span class="klein">Beitrag:(Pflichtfeld)</span><br>
<textarea name="beitrag" rows="10" cols="40" ><?echo stripslashes($beitrag)?></textarea> <br>
<input type="submit" name="senden" value="senden"></input>
</form>
</center>
<?
}
?>

<?

## function zum Abspeichern eines neuen Eintrags
function speichern()
{
global $maintext;
global $nick;
global $email;
global $thema;
global $beitrag;
global $maxbeitrag;
global $PHP_SELF;
$anzahl=0;
if(file_exists($maintext))
{
$dat=file($maintext);
$anzahl=count($dat);
$tempnr0=split("\|\*\|",$dat[count($dat)-1]);
$tempnr=$tempnr0[0]+1;

}
else
{
$dat=array();
$tempnr=1;
}
$zeit=date("d.m.y:H.i");
$temptext=$tempnr."|*|0|*|".stripslashes(nl2br(htmlspecialchars($nick)));
$temptext=$temptext."|*|".stripslashes(nl2br(htmlspecialchars($email)));
$temptext=$temptext."|*|".stripslashes(nl2br(htmlspecialchars($thema)));
$temptext=$temptext."|*|".$zeit."|*|\n";
$dat[count($dat)]=$temptext;

$tempdat=fopen("f_".$tempnr.".htm","w");

$temptext='<table width="600" cellspacing="0">';
$temptext=$temptext.'<tr><td colspan="2"> <span class="normal"><b>Thema:</b>'.stripslashes(nl2br(htmlspecialchars($thema))).'</span><br>&nbsp;</td></tr>';
$temptext=$temptext.'<tr><td width="50%" class="kopf"><span class="normal"><b>Beitrag von:</b>'.$nick.'<br>Mail:<a href="mailto:'.$email.'">'.$email.'</a></span></td>';
$temptext=$temptext.'<td width="50%"class="kopf" align="right"><span class="normal"><b>vom:</b>'.$zeit.'</span></td> </tr>';
$temptext=$temptext.'<tr><td colspan="2"><span class="normal">'.stripslashes(nl2br(htmlspecialchars($beitrag))).'</span></td></tr>';
$temptext=$temptext.'</table>';

fputs($tempdat,$temptext);
fclose($tempdat);
$tempdat=fopen($maintext,"w");

if($anzahl>=$maxbeitrag)
$tempi=$anzahl-($maxbeitrag-1);
else
$tempi=0;
if($tempi>0)
{
for($i=0;$i<$tempi;$i++)
{
$tempnr0=split("\|\*\|",$dat[$i]);
$tempnr=$tempnr0[0];
unlink("f_".$tempnr.".htm");
}
}

for($i=$tempi;$i<count($dat);$i++)
{
fputs($tempdat,$dat[$i]);
}
fclose($tempdat);
}
?>
<?

# Function zum Erstellen der Antwortform
function antwortform_schreiben()
{
global $nick;
global $email;
global $beitrag;
global $URL1;
global $PHP_SELF;
?>

<center>
<a name="ANTWORT"></a><br>
<span class="normal"><b> Antwort schreiben:</b><br>
<form action="<?echo $PHP_SELF ?>" method="post">
<input type="hidden" name="sent" value="neuzeigen"></input>
<input type="hidden" name="URL1" value="<?echo $URL1 ?>"></input>
<span class="klein">Nickname:(Pflichtfeld)</span><br>
<input type="text" name="nick" value="<?echo stripslashes(nl2br(htmlspecialchars($nick)))?>" size="50" ></input> <br>
<span class="klein">Email:</span><br>
<input type="text" name="email" value="<?echo stripslashes(nl2br(htmlspecialchars($email)))?>" size="50" ></input> <br>
<span class="klein">Beitrag:(Pflichtfeld)</span><br>
<textarea name="beitrag" rows="10" cols="40" ><?echo stripslashes($beitrag)?></textarea> <br>
<input type="submit" name="senden" value="senden"></input>
</form>
</center>

<?
}
?>


(Dieser Beitrag wurde von Pozor am 30. Aug 2005, 13:59 geändert)
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/