# Formular nach PHP5 umstellung



## uran (19. Januar 2008)

Hi,
Ich hab mein Server von PHP4 auf PHP5 umgestellt. Jetzt funktioniert das von mir verwendete Formularscript nicht mehr. Vielleicht kann mir jemand weiterhelfen:


PHP-Script:

```
<? if($absenden){
     $text="Betreff: ".$anfrage."<br>
Land: ".$land." <br>
PLZ: ".$plz." <br>
Ort: ".$ort." <br>
Strasse: ".$strasse." <br>
email: ".$email." <br>
Vorname: ".$vorname." <br>
Name: ".$name;
    mail("xxx@xxx.de","Anfrage",$text,"Content-Type: text/html");
     echo "<font color=#000000 size=2 face=Arial><strong>Anfrage erfolgreich versandt</strong></font>";
     }
?>
```

Die Formular-Ausführung:

```
<form action="<?php echo $_SERVER['PHP_SELF']."?action=kontakt"; ?>" method="post">
```

Noch zur beiläuftigen Erklärung: Die Kontakt-Seite wird per Include reingeladen.

Danke im voraus


----------



## Gumbo (19. Januar 2008)

Vermutlich liegt es daran, dass register_globals deaktiviert und du nicht mir den vordefinierten Variablen arbeitest.


----------



## uran (20. Januar 2008)

Ok danke für den Hinweis, daran hab ich gar nicht gedacht.

Ich hab nun den befehl in 
	
	
	



```
<? if($_POST['absenden']){
```
 geändert und er verschickt nun auch das Formular. Nur die Inhalts variablen kommen nicht an. Wie muss ich die umschreiben? Also diese hier mein ich:

```
Strasse: ".$strasse." <br>
```


----------



## Gumbo (20. Januar 2008)

In dem Fall musst du ebenfalls die $_POST-Variable nutzen:
	
	
	



```
"Strasse: ".htmlspecialchars($_POST['strasse'])." <br>"
```


----------



## uran (20. Januar 2008)

Danke dir, wie muss ich die Text-Variable umschreiben?


```
$text="Betreff: ".$anfrage."<br>
```


----------



## Gumbo (20. Januar 2008)

Das Prinzip ist eigentlich ganz einfach: per POST-Methode übermittelte Werte befinden sich in der $_POST-Variable, per GET-Methode übermittelte in der $_GET-Variable. Weitere Informationen findest du auch im Kapitel über Register Globals.


----------



## splasch (21. Januar 2008)

Du hast 2 möglichkeiten das zu lösen entweder schreib du einfach einwenig dazu oder alle anderen Variablen um

Variante 1

```
<?
$strasse=$_POST['strasse'];
$plz=$_POST['plz'];

echo"Strasse: ".$strasse." <br>" ;

?>
```

Oder Variante 2

```
<?

echo"Strasse: ".$_POST['strasse']." <br>"; 
?>
```

Mfg Splasch


----------

