Parameter: register globals off

Status
Niet open voor verdere reacties.

koalabreda

Gebruiker
Lid geworden
12 jun 2009
Berichten
19
Dag allen,

Ik zit met een probleem, een mailscriptje dat ik ooit gebruikte werkt niet op mijn nieuwe server. Nu ben ik aan het zoeken geweest en er achter gekomen dat dit door de register globals komt. Op mijn vorige server kon ik deze nog handmatig aan zetten in php 5 maar bij mijn nieuwe server is dat in verband met veiligheids overwegingen niet mogelijk.

Dit is het script:
PHP:
<?php

// Het email adres waarna het verstuurd moet worden
$youremail = "mijnemail@gmail.com";

// Controleren verplichte velden
if ($name=="" || $email=="" || $bericht=="")

{
print ("U heeft niet alle verplichte velden ingevuld, gebruik de terug knop van uw browser om de velden alsnog in te vullen...");
}

else {

// set datum 
$datum = date("d.m.Y H:i"); 
      
// set ip 
$ip = $_SERVER['REMOTE_ADDR']; 

// send email
$headers = "From: \"$name\" <$email>\n";
$subject = "$onderwerp | contact formulier"; 
$message .="Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
$message .="Door: $name\n";
$message .="Firma: $bedrijf\n";
$message .="Email: $email\n";
$message .="Telefoonnr: $telefoon\n\n";

$message .="Schreef:\n $bericht";

mail ("$youremail", "$subject", $message, $headers);
print ("Uw bericht is succesvol ontvangen. We nemen zo spoedig mogelijk contact met u op!");

} 
?>

Het script werkt via een formulier met method=post
Verder heb ik gelezen dat er iets veranderd moet worden in: $_POST["bestandsnaam"]

Nu weet ik alleen niet wat precies.

Kan iemand mij helpen?
Alvast bedankt! :)
 
Laatst bewerkt door een moderator:
Als ik jou was zou ik gewoon een beter mail scriptje zoeken ;)
 
Verder heb ik gelezen dat er iets veranderd moet worden in: $_POST["bestandsnaam"]

Om toch even hierop terug te komen. Het verschil tussen register_globals aan en uit is dat als het aan staat de velden in een formulier in het PHP script $naam_van_het_veld heten. Als het uit staat heten ze $_POST['naam_van_het_veld'] (of $_GET['naam_van_het_veld'] als GET gebruikt wordt i.p.v. POST).
 
Om toch even hierop terug te komen. Het verschil tussen register_globals aan en uit is dat als het aan staat de velden in een formulier in het PHP script $naam_van_het_veld heten. Als het uit staat heten ze $_POST['naam_van_het_veld'] (of $_GET['naam_van_het_veld'] als GET gebruikt wordt i.p.v. POST).

Dus als ik er dit van maak:
PHP:
<?
// send email
$headers = "From: \" "$_POST["name"]"\" <"$_POST["email"]">\n";
$subject =  $_POST["onderwerp"]"| contact formulier"; 
$message .="Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
$message .="Door:  "$_POST["name"]"\n";
$message .="Firma: "$_POST["bedrijf"]"\n";
$message .="Email: "$_POST["email"]"\n";
$message .="Telefoonnr: "$_POST["telefoonnummer"]"\n\n";
?>
Zou het moeten werken met die functie uit?
 
Het is bijna goed, maar je vergeet nog een ding. Je moet de delen concateneren met de . (punt).
Dus
PHP:
$headers = "From: \" " . $_POST["name"] . "\" <" . $_POST["email"] . ">\n";
De ander regels mag je zelf doen :).
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan