php formulier aanpassen

Status
Niet open voor verdere reacties.

wouterwouter2

Gebruiker
Lid geworden
2 mrt 2003
Berichten
65
beste forumgebruiker,

ik heb op mijn site dit scriptje:

Code:
<?
	// =========================== //
	// -- //
	// Geplaatst op: 10.01.2003 23:52 //
	// Download URL:
	// [url]http://www.phphulp.nl/php/scripts/?cat=2&id=12[/url] //
	// -- //
	// =========================== //

	// ----------------
	// Toelichting
	// ----------------

	/*
	Contact formulier met verplichte velden. Geheel dynamisch. Je hoeft alleen je e-mail adres op te geven en hij wordt verstuurd.
	*/

	// ----------------
	// Code:
	// ----------------
?>

	<?
    // geef e-mail adres op van ontvanger
    $mail_ontv = "info@mijndomein.nl";

    // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
    if (!$submit || $submit && (!$naam || !$mail || !$msggs || !$onderwerp))
    {
        if ($submit && (!$naam || !$mail || !$msggs || !$onderwerp))
        {
            echo "<p>Je bent je <b>naam</b>, <b>e-mail</b>, <b>onderwerp</b> of <b>bericht</b> vergeten!</p>";
        }
        
        // form + tabel
        echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>";
        echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
        
        // naam
        echo "<TR><TD>Naam:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=naam VALUE=\"$naam\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>E-mail adres:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=mail VALUE=\"$mail\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Onderwerp:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=onderwerp VALUE=\"$onderwerp\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Bericht:</TD></TR>";
        echo "<TR><TD><TEXTAREA NAME=msggs ROWS=6 COLS=66>$msggs</TEXTAREA></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // button
        echo "<TR><TD>&nbsp;</TD></TR>";
        echo "<TR><TD><INPUT TYPE=submit NAME=submit VALUE=\"Versturen\"></TD></TR>";
        
        // sluit form + tabel
        echo "</FORM>";
        echo "</TABLE>";
    }
    // versturen naar
    else
    {    
        // set datum
        $datum = date("d.m.Y H:i");
        
        // set ip
        $ip = $REMOTE_ADDR;
        
        $inhoud_mail = "===================================================\n";
        $inhoud_mail .= "INGEVULD CONTACT FORMULIER\n";
        $inhoud_mail .= "===================================================\n\n";
        
        $inhoud_mail .= "Naam: $naam\n";
        $inhoud_mail .= "E-mail adres: $mail\n";
        $inhoud_mail .= "Bericht:\n";
        $inhoud_mail .= "$msggs\n\n";
        
        $inhoud_mail .= "Verstuurd op $datum via het ip $ip\n\n";
        
        $inhoud_mail .= "===================================================\n\n";
        
        mail($mail_ontv, $onderwerp, $inhoud_mail, "From: $naam <$mail>");
        
        echo "E-mail is verstuurd.";    
    }
?>

maar nu moet bij voor het verzenden 2 boxjes staan die je kan aanvinken..

als je boxje 1 aanvinkt moet de email naar 1@1.nl worden verstuurd en als je 2 aanvinkt naar 2@2.nl bv..

wie kan dit voor mij veranderen want k ben nog druk bezig om php te leren

bvd, wouter.
 
Zelf nog wel wat dingen veranderen die ik heb aangegeven

PHP:
<?
    // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
    if (!$submit || $submit && (!$naam || !$mail || !$msggs || !$onderwerp))
    {
        if ($submit && (!$naam || !$mail || !$msggs || !$onderwerp))
        {
            echo "<p>Je bent je <b>naam</b>, <b>e-mail</b>, <b>onderwerp</b> of <b>bericht</b> vergeten!</p>";
        }
        
        // form + tabel
        echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>";
        echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
        
        // naam
        echo "<TR><TD>Naam:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=naam VALUE=\"$naam\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>E-mail adres:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=mail VALUE=\"$mail\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Onderwerp:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=onderwerp VALUE=\"$onderwerp\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Bericht:</TD></TR>";
        echo "<TR><TD><TEXTAREA NAME=msggs ROWS=6 COLS=66>$msggs</TEXTAREA></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
		
				// hokjes
		echo "<TR><TD><INPUT TYPE=radio NAME=hokje VALUE=1> Hokje 1"; // Hokje 1 naar eigen keuze invullen
		echo "<TR><TD><INPUT TYPE=radio NAME=hokje VALUE=2> Hokje 2"; // Hokje 2 naar eigen keuze invullen
        
        // button
        echo "<TR><TD>&nbsp;</TD></TR>";
        echo "<TR><TD><INPUT TYPE=submit NAME=submit VALUE=\"Versturen\"></TD></TR>";
		

        
        // sluit form + tabel
        echo "</FORM>";
        echo "</TABLE>";
    }
    // versturen naar
    else
    {    
        // set datum
        $datum = date("d.m.Y H:i");
        
        // set ip
        $ip = $REMOTE_ADDR;
        
		if($_POST['hokje'] == "1")
			$mail = "emailadres1@provider.nl"; // emailadres zelf veranderen, deze hoort bij het linker hokje
		else
			$mail = "emailadres2@provider.nl"; // emailadres zelf veranderen, deze hoort bij het rechter hokje

        $inhoud_mail = "===================================================\n";
        $inhoud_mail .= "INGEVULD CONTACT FORMULIER\n";
        $inhoud_mail .= "===================================================\n\n";
        
        $inhoud_mail .= "Naam: $naam\n";
        $inhoud_mail .= "E-mail adres: $mail\n";
        $inhoud_mail .= "Bericht:\n";
        $inhoud_mail .= "$msggs\n\n";
        
        $inhoud_mail .= "Verstuurd op $datum via het ip $ip\n\n";
        
        $inhoud_mail .= "===================================================\n\n";
        
        mail($mail_ontv, $onderwerp, $inhoud_mail, "From: $naam <$mail>");
        
        echo "E-mail is verstuurd.";    
    }
?>
 
Je moet er wel mee oppassen dat in PHP 4.2.3 iets veranderd is. Verstuurde waarden worden geen $var meer, maar nu $_REQUEST['var'].
 
Krijg je foutmeldingen?

Probeer dit:
PHP:
<?

$submit = $_POST['submit'];
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$msggs = $_POST['msggs'];
$onderwerp = $_POST['onderwerp'];

    // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
    if (!$submit || $submit && (!$naam || !$mail || !$msggs || !$onderwerp))
    {
        if ($submit && (!$naam || !$mail || !$msggs || !$onderwerp))
        {
            echo "<p>Je bent je <b>naam</b>, <b>e-mail</b>, <b>onderwerp</b> of <b>bericht</b> vergeten!</p>";
        }
        
        // form + tabel
        echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>";
        echo "<FORM METHOD=POST ACTION=$PHP_SELF>";
        
        // naam
        echo "<TR><TD>Naam:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=naam VALUE=\"$naam\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>E-mail adres:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=mail VALUE=\"$mail\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Onderwerp:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=text NAME=onderwerp VALUE=\"$onderwerp\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Bericht:</TD></TR>";
        echo "<TR><TD><TEXTAREA NAME=msggs ROWS=6 COLS=66>$msggs</TEXTAREA></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
                // hokjes
        echo "<TR><TD><INPUT TYPE=radio NAME=hokje VALUE=1> Hokje 1"; // Hokje 1 naar eigen keuze invullen
        echo "<TR><TD><INPUT TYPE=radio NAME=hokje VALUE=2> Hokje 2"; // Hokje 2 naar eigen keuze invullen
        
        // button
        echo "<TR><TD>&nbsp;</TD></TR>";
        echo "<TR><TD><INPUT TYPE=submit NAME=submit VALUE=\"Versturen\"></TD></TR>";
        

        
        // sluit form + tabel
        echo "</FORM>";
        echo "</TABLE>";
    }
    // versturen naar
    else
    {    
        // set datum
        $datum = date("d.m.Y H:i");
        
        // set ip
        $ip = $REMOTE_ADDR;
        
        if($_POST['hokje'] == "1")
            $mail = "emailadres1@provider.nl"; // emailadres zelf veranderen, deze hoort bij het linker hokje
        else
            $mail = "emailadres2@provider.nl"; // emailadres zelf veranderen, deze hoort bij het rechter hokje

        $inhoud_mail = "===================================================\n";
        $inhoud_mail .= "INGEVULD CONTACT FORMULIER\n";
        $inhoud_mail .= "===================================================\n\n";
        
        $inhoud_mail .= "Naam: $naam\n";
        $inhoud_mail .= "E-mail adres: $mail\n";
        $inhoud_mail .= "Bericht:\n";
        $inhoud_mail .= "$msggs\n\n";
        
        $inhoud_mail .= "Verstuurd op $datum via het ip $ip\n\n";
        
        $inhoud_mail .= "===================================================\n\n";
        
        mail("$mail", "$onderwerp", "$inhoud_mail", "From: $naam <$mail>");
        
        echo "E-mail is verstuurd.";    
    }
?>
 
Laatst bewerkt:
ik krijg geen foutmeldingen maar als ik op verzend druk krijg ik te zien: email verzonden maar ik krijg nooit een email aan...
 
heb je de emailadressen wel ingevoerd waar ik heb aangegeven dat dat moet:

if($_POST['hokje'] == "1")
$mail = "emailadres1@provider.nl"; // emailadres zelf veranderen, deze hoort bij het linker hokje
else
$mail = "emailadres2@provider.nl"; // emailadres zelf veranderen, deze hoort bij het rechter hokje
 
if($_POST['hokje'] == "1")

zonder aanhalingstekens ff proberen, ik doe het altijd zonder
 
Hij doet nu bij mij, probeer het onderstaande. Verander nog wel even de emailadressen en de naam van de pagina!
PHP:
<?

$submit = $_POST['submit'];
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$msggs = $_POST['msggs'];
$onderwerp = $_POST['onderwerp'];

    // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
    if (!$submit || $submit && (!$naam || !$mail || !$msggs || !$onderwerp))
    {
        if ($submit && (!$naam || !$mail || !$msggs || !$onderwerp))
        {
            echo "<p>Je bent je <b>naam</b>, <b>e-mail</b>, <b>onderwerp</b> of <b>bericht</b> vergeten!</p>";
        }
        
        // form + tabel
        echo "<TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">";
        echo "<FORM METHOD=\"POST\" ACTION=\"email.php\">"; // !! Verander achter action de pagina naar de naam van de pagina!!
        
        // naam
        echo "<TR><TD>Naam:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=\"text\" NAME=\"naam\" VALUE=\"$naam\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>E-mail adres:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=\"text\" NAME=\"mail\" VALUE=\"$mail\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Onderwerp:</TD></TR>";
        echo "<TR><TD><INPUT TYPE=\"text\" NAME=\"onderwerp\" VALUE=\"$onderwerp\"></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
        // mail
        echo "<TR><TD>Bericht:</TD></TR>";
        echo "<TR><TD><TEXTAREA NAME=\"msggs\" ROWS=\"6\" COLS=\"66\">$msggs</TEXTAREA></TD></TR>";
        
        // space
        echo "<TR><TD>&nbsp;</TD></TR>";
        
                // hokjes
        echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"hokje\" VALUE=\"1\"> Hokje 1"; // Hokje 1 naar eigen keuze invullen
        echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"hokje\" VALUE=\"2\"> Hokje 2"; // Hokje 2 naar eigen keuze invullen
        
        // button
        echo "<TR><TD>&nbsp;</TD></TR>";
        echo "<TR><TD><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"Versturen\"></TD></TR>";
        

        
        // sluit form + tabel
        echo "</FORM>";
        echo "</TABLE>";
    }
    // versturen naar
    else
    {    
        // set datum
        $datum = date("d.m.Y H:i");
        
        // set ip
        $ip = $REMOTE_ADDR;
        
        if($_POST['hokje'] == "1")
            $ontv_mail = "emailadres2@provider.nl"; // emailadres zelf veranderen, deze hoort bij het linker hokje
        else
            $ontv_mail = "emailadres2@provider.nl"; // emailadres zelf veranderen, deze hoort bij het rechter hokje

        $inhoud_mail = "===================================================\n";
        $inhoud_mail .= "INGEVULD CONTACT FORMULIER\n";
        $inhoud_mail .= "===================================================\n\n";
        
        $inhoud_mail .= "Naam: $naam\n";
        $inhoud_mail .= "E-mail adres: $mail\n";
        $inhoud_mail .= "Bericht:\n";
        $inhoud_mail .= "$msggs\n\n";
        
        $inhoud_mail .= "Verstuurd op $datum via het ip $ip\n\n";
        
        $inhoud_mail .= "===================================================\n\n";
        
        mail("$ontv_mail", "$onderwerp", "$inhoud_mail", "From: $naam <$mail>");
        
        echo "E-mail is verstuurd.";    
    }
?>

Als dit niet lukt, moet je misschien eens kijken of je geen bepaalde berichtregels in Outlook hebt of een filter bij Hotmail...
 
ik denk eigenlijk dat laatste..
want het allersimpelste php formulierjte kan k nie ontvangen?

weet jij / iemand wat ik moet veranderen in hotmail?
 
Probeer dit bovenstaande formulier maar eerst. Wil het dan nóg niet, ga dan eens kijken in Hotmail.

Kijk bij de Opties --> Filter Ongewenste Post en zet die op Standaard.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan