# Problem beim HTML-Formular



## Adiamoevil (22. Mai 2005)

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


----------



## versuch13 (22. Mai 2005)

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ß


----------



## Adiamoevil (31. Mai 2005)

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


----------



## doenerbote (5. Juni 2005)

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


----------



## Comenius (5. Juni 2005)

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:


```
<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
  echo "$_POST[name]";  // ausgabe des Namen
  echo "<br>"; // Zeilenumbruch
  echo "$_POST[vorname]"; // ausgabe des Vornamen
  ?>
```
 
  Gruss
  Commi


----------



## PuReSteeL (7. Juni 2005)

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?


----------



## AKrebs70 (7. Juni 2005)

Hallo!

Falls Du es nicht in php machen möchtest weil Du halt keine (oder nur geringe) Kenntnisse darin hast Empfehle ich dir diesen link:
http://www.schattenbaum.net/php/

Gruß Axel


----------



## Gumbo (7. Juni 2005)

Also bitte! Wenn, dann einen sauberen Vorschlag:
	
	
	



```
<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

	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);
	}

?>
```


----------



## Comenius (7. Juni 2005)

> 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 (8. Juni 2005)

> 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
> echo "$_POST[name]";  // ausgabe des Namen
> echo "<br>"; // Zeilenumbruch
> ...


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.


----------

