Problem seit Serverumzug.

danielkoeln

Grünschnabel
Habe neulich den Server gewechselt und habe seitdem mit meinen PHP-Seiten zum Teil Probleme. Meine ICludes funktionieren alle, wobei kontaktforula, Uploadscript und ähnliches auf einmal nicht mehr funktionieren, auf dem neuen Server komme ich auf keinen grünen Zweig.
Der Server ist von Haus aus in verschiedene Ordner unterteilt, ich habe alle daten in den ordner "httpdocs" geladen.
Wenn ich die Domain eingebe wird auch die dort liegende index.php aufgerufen.
Nun funktioniert u a folgendes Forumlar nicht mehr.
Sobald man auf Senden klickt, ladt die Seite neu und es erscheit nicht die Meldung, dass derText gesendet wurde, wie es bisher der fall war.

<!--Kontaktformular-->
</p>
<form name="form1" method="post" action="<? php_self ?>">
<p> <font color="#000000" face="Arial, Helvetica, sans-serif">Ihr
Name:<br>
<input name="name" type="text" id="name" size="30">
</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">Ihre
Email-Adresse:</font><font color="#000000" face="Arial, Helvetica, sans-serif"><br>
<input name="email" type="text" id="email" size="30">
</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">
Nachricht: <br>
<textarea name="nachricht" cols="50" rows="10" id="nachricht"></textarea>
</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">
<input name="info" type="checkbox" id="info" value="Ja, senden Sie">
Ja, senden sie mir bitte Infomaterial an folgende Adresse:</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">
<textarea name="adresse" cols="30" rows="5" id="adresse"></textarea>
<font size="1">(Muss nur bei Anforderung von Infomatieral angegeben
werden) </font></font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">
<input name="tel" type="checkbox" id="info2" value="Ja, rufen Sie an">
Ja, ich bitte um einen Anruf unter:
<input name="telnr" type="text" id="name2" size="30">
<font size="1"><br>
(Telefonnummer, ggf. gew&uuml;nschte Uhrzeit)<br>
</font></font><font color="#000000" face="Arial, Helvetica, sans-serif"><br>
<input type="submit" name="Submit" value="Abschicken">
<input type="reset" value="Alle Eingaben l&ouml;schen" onClick="return confirm('Alle Eingaben werden gelöscht. Sind Sie sicher?')">
</font> </p>
</form>
<?
// Bei deinen Formularfeldern musst du natürlich auch so nennen wie sie unten verschickt werden
// also zum bsp : dein Feld im Formular (HTML) heißt Name : [:::::::::]

// eine kleine Bedingung -> falls das Feld "Email" im Formular ausgefüllt bzw. gesetzt ist, dann tu
if (isset ($email))
{
echo "<font size='1' color='white'></font>";
// hier deine Emailadresse rein
$MailTo="HIERISTMEINEADRESSEDRIN";
// Gibt Datum und Uhrzeit an , damit man auch weis wann das Formular genau abgeschickt wurde
$nowDay=date("d.m.Y");
$nowClock=date("H:i:s");

// Content, ist der Inhalt der in der Mail angezeit wird
$FormContent="
Dieses Formular wurde am $nowDay um $nowClock: abgeschickt.\n\n
----------------------------------------------------------------------------\n
Name: $name\n
Email: $email\n
----------------------------------------------------------------------------\n
Nachricht: $nachricht\n
Infomaterial: $info\n
Adresse: $adresse\n
Anruf: $tel\n
Telefon: $telnr\n
----------------------------------------------------------------------------\n
";

// Dies ist eigentlich die wichtigste Zeile, hier schickt er es ab
mail($MailTo,"Nachricht von $name", $FormContent, "From: $email");

// und jetzt noch die Bestätigung, dass es erfolgreich verschickt wurde
echo "<p>--> Nachricht wurde gesendet. Ihre Anfrage wird schnellstmöglich beantwortet !</p>";


}else { echo "&nbsp;";}
?>
<!-- Ende - Kontaktformular-->





woran könnte das liegen ?

Folgende PHP-version ist übrigens auf dem Server.
PHP Version 4.3.4

System Linux p15097584 2.6.9-041221 #1 SMP Tue Dec 21 16:00:43 CET 2004 i686
Build Date Jan 14 2005 12:43:51
Configure Command './configure' '--prefix=/usr' '--datadir=/usr/share/php' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--sysconfdir=/etc' '--with-_lib=lib' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' '--disable-ctype' '--disable-session' '--without-mysql' '--disable-cli' '--without-pear' '--with-openssl' '--with-apxs2=/usr/sbin/apxs2-prefork' 'i586-suse-linux'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety disabled
Registered PHP Streams php, http, ftp, https, ftps, compress.zlib


Danke im Vorraus für die Hilfe,

Daniel
 
Hallo,

mit Sicherheit steht register_globals jetzt auf off. Deshalb musst du die globalen Variablen $_POST, $_GET, $_SESSION, $_SERVER, $_COOKIES benutzen.

In deinem Fall z.b.
Code:
// eine kleine Bedingung ...
if (isset ($_POST[email]))
...

Gruß,
yson
 
Code:
if (isset ($_POST[email]))
So wird das (höchstwahrscheinlich) nicht funktionieren. Lieber so ;):
PHP:
if (isset($_POST['email']))
Der Unterschied sind die netten kleinen Apostrophen, die unterscheiden, ob es sich um eine Konstante oder um einen String handelt.
 
Ob die register_globals on oder off sind, das ist eine Einstellung auf dem Server und wird wenn dann nur vom Provider bzw. Administrator einstellbar sein (es sein denn, Du hast Deinen eigenen Server).
Stell deine Programmierung trotzdem auf das um, was schon gepostet wurde, dann treten solche Fehler bei einem (evtl.) weiteren Serverumzug nicht mehr auf!

redlama
 
Alle Variablen, die von einer anderen Seite kommen, müssen geändert werden!
Also wenn Du irgendwo ein Formular hast, welches Du an ein Script sendest, dann darfst Du nicht mehr $name, $strasse, ... aufrufen, sondern musst $_GET["name"], ... bzw. $_POST["name"] verwenden, je nachdem, welche Methode Du im <form> definiert hast.
Und alles Variablen, die Du an ein andere Script in einem Link übergibst, müssen ebenfalls geändert werden.

redlama
 
@Daniel: Wie redlama schon gesagt hat, kannst du das nur umstellen, wenn du einen eigenen Server hast. Davon würde ich aber grundsätzlich abraten - schliesslich wurde diese Einstellung nicht umsonst deaktiviert. Damit bestehen grosse Sicherheitslücken (bspw., wenn du an einen (eigentlich) leeren String etwas anhängst und diesen dann auswertest, der (böse) User aber bereits diesen String in der URL mit ?var=... definiert hat. (Ähm ja, ich hoffe mal, das war verständlich... *pfiffel*)
 
Zurück