PHP - Problem (Anfänger)

newsted

Neuling
Thread Starter
Mitglied seit
18.08.2004
Beiträge
44
Hi Habe mir ein ganz einfache Script geschrieben das ein Kleines Problem hatt!


Es sollte eigentlich so etwas wie ein GB-Script sein es wird alles in Flat-Files gespeichert:

Hier der code für die eingaben:

PHP:
<form method="post" action="about.php">
<table >
<tr>
 <td>Name:</td>
 <td><input type="text" name="name"></td>
</tr>
<tr>
 <td>email:</td>
 <td><input type="text" name="email"></td>
</tr>
<tr>
 <td>Eintrag/Danksagung:</td>
 <td><textarea name="eintrag" rows=10 cols=40 wrap="off"></textarea></td>
</tr>
</table>
<input type="submit" name="Button" value="Absenden">
</form>

<?php
$von="von";
$daten="<table >
<tr>
  <th><a href=mailto:$email>$von $name</a></th>
</tr>
<br>
<tr><td><hr noshade size\=\"1\"></tr></td>
<tr>
 <td>$eintrag</td>

</tr>

</table>";
$datenbank = "daten.dat";
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);
?>
<br>
<br>


Das ganze wird dann auf einer Anderen seite ausgegeben
Hier wird es so Integriert:
PHP:
 <?php
$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
fpassthru($datei);
?>


Nun das Problem:

Gepostet wird es folgender maßen
von <----- Hier der Fehler dieses von sollte nicht da stehen wie entsteht es?
------------------------------------------------------------------
von [email]xyz@gmx.at[/email]
------------------------------------------------------------------
Hier steht dann der text der Eingegeben wurde...........

Mir ist nicht ganz klar wie das erste von zustande kommt? Das sollte ja nicht dastehen! Ich überlege schon ein paar tage komme aber nicht drauf
:wall:

Bitte Helft mir Dankeschön!
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Irgendwie verstehe ich den Sinn dieses Scriptes nicht!
:shake:

Poste doch bitte mal den Inhalt der Datei "daten.dat".

Warum weist zu eine Tabelle mit Inhalt einer Variable zu?
 
Der Inhalt der "daten.dat" ergiebt sich aus den daten die in die formulare ^^ oben eingegeben werden!

aber ich kann gern mal so etwas posten:

PHP:
<table >
<tr>
  <th><a href=mailto:xyz@gmx.at=>von </a></th>
</tr>
<br>
<tr><td><hr noshade size\="1"></tr></td>
<tr>
 <td></td>

</tr>

</table><table >
<tr>
  <th><a href=mailto:xyz@gmx.at>von [email]newsted@gmx.at[/email]</a></th>
</tr>
<br>
<tr><td><hr noshade size\="1"></tr></td>
<tr>
 <td>Dies ist dann der Text der bei Eintrag/Danksagung eingegeben wird....
Text Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text TextText Text Text Text Text Text</td>

</tr>

</table>
 
Da stehts doch o_O
Wenns das nicht war dann versteh ich dein problem glaub ich nicht^^

<table >
<tr>
<th><a href=mailto:xyz@gmx.at=>von </a></th>
</tr>
<br>
<tr><td><hr noshade size="1"></tr></td>
<tr>
<td></td>
 
Nein nicht nur das was du rein kopiert hast steht derinnen das ganze was ich oben gepostet habe. Und dann steht eben 2mal von und das verstehe ich nicht wie das erste von zustande kommt!
 
Wozu dient dieser Bereich ?

newsted schrieb:
<table >
<tr>
<th><a href=mailto:xyz@gmx.at=>von </a></th>
</tr>
<br>
<tr><td><hr noshade size\="1"></tr></td>
<tr>
<td></td>
</tr>
</table>

Ich verstehe zwar den Sinn hinter dem ganzen immer noch nicht, aber lösche diesen Teil mal raus, und versuche es dann einmal.

Die erste Tabelle mit dem einzelnen "von" sollte dann nicht mehr vorhanden sein.

BITTE, BITTE, erkläre doch einmal in ganzen Sätzen (bitte auf Grammatik und Rechtschreibung achten) was dieses Script genau bewirken soll. Vielen Dank!
 
Insidious schrieb:
Wozu dient dieser Bereich ?



Ich verstehe zwar den Sinn hinter dem ganzen immer noch nicht, aber lösche diesen Teil mal raus, und versuche es dann einmal.

Die erste Tabelle mit dem einzelnen "von" sollte dann nicht mehr vorhanden sein.

BITTE, BITTE, erkläre doch einmal in ganzen Sätzen (bitte auf Grammatik und Rechtschreibung achten) was dieses Script genau bewirken soll. Vielen Dank!

Eben genau das wollte ich mit meinem Post ausdrücken o_O
 
Dieses Script sollte ein einfaches Gästebuch sein, Name, email-adresse und Text die zuvor per Formular übergeben werden sollten vor - Formatiert (in reinem HTML) in die datei "daten.dat" geschrieben werden.

Bei jedem Gästebuch-eintrag sollte ein neuer Eintrag einfach an den voran gegangenen gehängt werden sprich in die "daten.dat" geschrieben werden.

"daten.dat" wird dann wieder ausgelesen und eben wie bei einem Gästebuch üblich wiedergegeben.

Natürlich habe ich den Inhalt der daten.dat schon gelöscht und es wieder probiert jedoch kommt es immer wieder zum gleichen Fehler!
 
Versuch mal folgendes:

<form method="post" action="about.php">
<table >
<tr>
<td>Name:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Eintrag/Danksagung:</td>
<td><textarea name="eintrag" rows=10 cols=40 wrap="off"></textarea></td>
</tr>
</table>
<input type="submit" name="Button" value="Absenden">
</form>

<?php
if(isset($HTTP_POST_VARS["Button"])){
$von="von";
$daten="<table >
<tr>
<th><a href=mailto:$email>$von $name</a></th>
</tr>
<br>
<tr><td><hr noshade size\=\"1\"></tr></td>
<tr>
<td>$eintrag</td>

</tr>

</table>";
$datenbank = "daten.dat";
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);
}
?>
<br>
<br>
 
<tr>
<th><a href=mailto:$email>$von $name</a></th>
</tr>

bitte in

<tr>
<th><a href=\"mailto:$email\">$von $name</a></th>
</tr>

ändern.

MfG
Alex
 
:banana: Danke Jetzt funktioniert es wunderbar :hail:

Was die if(isset bedeutet und wieso ich das machen musste werde ich mir jetzt mal ansehen gehen :asthanos:


:hail:Danke Danke Danke:hail:
 
if(isset($var)) überprüft ob eine variable existiert oder nicht ;-)
 
Ah danke du ersparst mir einiges ;)

bei $HTTP_POST_VARS habe ich in php.net gelesen man sollte $_Post verwenden ich habe es jetzt mal damit probiert funktioniert auch ;)

Hatt ja keine nachteile oder?
 
nö nur vorteile und zwar du musst weniger tippen :)

$_Post ist mehr oder weniger das gegenteil von $_Get
$_Get geht über die url und $_Post wird irgendwie so mit reingeschmuggelt :d


MfG
Alex
 
Hab mir die lange Version mal angewöhnt, kurze sollte aber auch gehen. Naja schön, dass es jetzt geht :)
 
Die "langen" Versionen sind veraltet und können bei PHP5 bereits komplett ausgeschaltet werden, sodass man sich eigentlich unbedingt die neuen Namen angewöhnen sollte, was ja eigentlich nicht wirklich eine Umstellung sein sollte ;)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh