Problem beim HTML-Formular

Status
Nicht offen für weitere Antworten.

Adiamoevil

Grünschnabel
Hallo,

ich habe ein Problem bei meinem HTLM-Formular. :(
Wenn ich das Formular auslesen möchte, bekomme ich die Informationen aneinandergereicht. Ich möchte diese aber besser lesen können, auch ohne CGI-Programm. Leider habe ich keine ahnung von Java Script oder PHP.
ich hoffe ihr könnt mir helfen.

Eure Adiamoevil
 
Hi,

also, du versendest das Formular per PHP ja? Bin da auch nicht so der Pro, aber so sollte es gehen.


Bei der mail-Fuktion wird eine neue Zeile durch die Zeichenkette "\n" eingeleitet, so daß sich die verschiedenen Eingabe durch die Verknüpfung
mit "." einfach zu einer zeilenweisen Aufzählung zusammenfügen lassen:

<?PHP
$text = $name."\n".$nachricht."\n".$datum;
mail("deine@email.de", $text, . . .);
?>


Allerdings gehört das dann eigentlich ins PHP Forum denke ich.


gruß
 
vielen lieben Dank Versuch13, aber ich meinte nicht PHP sondern direkt in HTML.
Ich dachte es gibt vielleicht etwas womit ich das CGI-Programm umgehen kann auch ohne Java Script und PHP
 
Hi,

bin auch kein Profi, aber hast du es als Ergänzung im <form ....>tag mal mit enctype="text/plain" versucht?

Bei meinem Mailformular klappt das so jedenfalls. Ohne die Anweisung gibts auch nur ne lange Reihe mehr oder weniger wirres Zeug.

Viel Glück
doenerbote
 
Zuletzt bearbeitet:
Hi,

Irgendwie ist es mir ein Rätsel, wie du ohne PHP ein HTML-Formular ausgeben möchtest.

Aber zu deinem Problem:

warum trennst du es nicht mit einem normalen Zeilenumbruch "<br>" ?!
Hau nach jedem Wort einenen Zeilenumbruch hinein und deine Wörter werden schön untereinander aufgelistet.

Anbei trotzdem mal eine PHP-Variante:

Code:
  <form name="Test" method="post" action="SITENAME.php"> 
  
  Name:
  <input name="name" type="text" size="25"  value=""> <br>
  <br>
  Vorname:
   <input name="name" type="text" size="25"  value=""> <br>
  <br>

 <input type="submit" name="Test" value="Absenden">
</form>

Seite an die das Formular geschickt wird: (muss die endung .php haben!)

PHP:
  <?php
  echo "$_POST[name]";  // ausgabe des Namen
  echo "<br>"; // Zeilenumbruch
  echo "$_POST[vorname]"; // ausgabe des Vornamen
  ?>

Gruss
Commi
 
Zuletzt bearbeitet von einem Moderator:
Mich würde mal interessieren was du genau vor hast. Du hast ein HTML-Formular, übergibst dann die daten an eine Folgeseite und dann soll da kein PHP-Skript, Javascript oder ein CGI-Skript sein, dass mit den Daten etwas anfängt, dennoch möchtest du diese besser auslesen können.

Was genau möchtest du denn machen?
 
Also bitte! Wenn, dann einen sauberen Vorschlag:
Code:
<form action="<Ziel>" method="post">
	<p><label for="text:name">Name</label>
	<input type="text" id="text:name" name="name"></p>
	<p><label for="text:nachricht">Nachricht</label>
	<textarea id="text:nachricht" name="nachricht"></textarea></p>
	<p><input type="submit" name="submit"></p>
</form>
PHP:
<?php

	define('CHAR_CRLF', chr(0x0D).chr(0x0A));

	…

	if( isset($_POST['submit']) ) {
		$text = $_POST['name'].CHAR_CRLF.$_POST['nachricht'].CHAR_CRLF.date('r');
		mail('user@example.net', $text);
	}

?>
 
Also bitte! Wenn, dann einen sauberen Vorschlag:

Gumbo: Mir ging es mehr ums Prinzip, als Adiamoevil eine fertige Lösung vorzukauen.
Ich habe lediglich gesagt, wie man Formulardaten ausgeben lassen kann.

Bei meinem Code, könnte sogar ein "Anfänger" noch verstehen, wie das ganze funktioniert.

Bei deinem Code, muss man PHP schon wirklich beherrschen...

Gruss
Commi
 
Gumbo: Mir ging es mehr ums Prinzip, als Adiamoevil eine fertige Lösung vorzukauen.
Ich habe lediglich gesagt, wie man Formulardaten ausgeben lassen kann.
Das ändert jedoch nichts an der Tatsache, dass dein Vorschlag unsauber ist.
PHP:
<?php
  echo "$_POST[name]";  // ausgabe des Namen
  echo "<br>"; // Zeilenumbruch
  echo "$_POST[vorname]"; // ausgabe des Vornamen
  ?>
In deinem Beispiel wird nämlich anhand von Konstanten auf die Array-Elemente zugegriffen, da kein Ansatz einer Zeichenkettendeklaration zu sehen ist. Der PHP-Interpreter versteht es zwar unter gewissen Einstellungen so, dass es möglicherweise auch eine Zeichenkette sein könnte, jedoch ist das eine sehr unsaubere Schreibweise – auch, dass die Variablenzur Ausgabe zusätzlich in Anführungszeichen stehen, die absolut redundant sind.
 
Status
Nicht offen für weitere Antworten.
Zurück