undefined index probleem

Status
Niet open voor verdere reacties.

Gregg

Gebruiker
Lid geworden
8 okt 2008
Berichten
68
Hallo iedereen,
ik heb een probleem met enkele variabelen (voornaam, naam, email, sub) die hij blijft weergeven als undefined index.
Het rare is dat het script verder werkt.. hij plaats de variabelen in de database.
maar de errors blijven op het scherm.
Kan er mij iemand helpen?

PHP:
<div id="inhoud"> 
    <center>
      <p><span class="style1">      <br />
      <p>Vul hier uw gegevens in als u op de hoogte wenst gehouden te worden van onze akties en promoties.</p>
      </span>
      </p>
  </center>
  <form method="POST" action="<?php echo($_SERVER["PHP_SELF"]);?>" onSubmit="return validatie(this)" language="JavaScript"/>
  <br />
  <br />
  
  <table width="30%" border="0" align="center">
    <tr> 
      <td><div align="right"><font face="haettenschweiler"><span class="style1"><h3>(*) Vooraam :</h3></span>:&nbsp;</font></div></td>
      <td><div align="left">&nbsp; 
          <input value="" type="text" name="voornaam" size="40">
        </div></td>
    </tr>
    <tr> 
      <td><div align="right"><font face="haettenschweiler"><span class="style1"><h3>(*) Naam :</h3></span>:&nbsp;</font></div></td>
      <td><div align="left">&nbsp; 
          <input value="" type="text" name="naam" size="40">
        </div></td>
    </tr>
    <tr> 
      <td><div align="right" class="style1"><font face="haettenschweiler"><h3>(*) E-mail :</h3></font></div></td>
      <td> <div align="left">&nbsp; 
          <input value="" type="text" name="email" size="40">
        </div></td>
    </tr>
    <tr> 
      <td><p align="right">&nbsp;</p></td>
      <td><p align="left">&nbsp;</p></td>
    </tr>
    <tr> 
      <td><div align="right">
        <input type="submit" value="inschrijven" name="sub" />
      </div></td>
      <td>
        
          <div align="right">
            <input type="submit" value="uitschrijven" name="sub" />
        </div></td>
  </table>
  <p align="center">
    </tr>
    </form>
<span class="style1"><p>(*) Veplicht veld</p><br />
</span>
<?php

include('connect.php'); 

$voornaam = $_POST['voornaam'];
$naam = $_POST['naam'];
$email = $_POST['email'];
$sub = $_POST['sub'];

function checkmail($mail){ 
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1'];
    $email_resolved = gethostbyname($email_host); 

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
        $valid = 1; 

    return $valid; 
};

if($sub == 'inschrijven'){
	if($voornaam != '' AND $naam != '' AND $email != '' AND checkmail($email) == 1){
		$query ="INSERT INTO `nieuwsbrief` (`voornaam`, `naam`, `email`) VALUES ('$voornaam', '$naam', '$email')";
		mysql_query($query) or die (mysql_error());
		echo '<font color="#00CC33" size="5" face="haettenschweiler"><center>Dank u voor uw inschrijving!</center></font>';
		//include ("nieuwsbrief.php");
	}else{
		echo '<font color="#ff0000" size="5" face="haettenschweiler"><center>Gelieve alle gegevens correct in te vullen!</center></font>';
		//include ("nieuwsbrief.php");
	};
	
}elseif($sub == 'uitschrijven'){
	if($voornaam != '' AND $naam != '' AND $email != '' AND checkmail($email) == 1){
		$query ="DELETE FROM nieuwsbrief WHERE voornaam = '$voornaam' AND naam = '$naam' AND email = '$email'; "; 
		mysql_query($query) or die (mysql_error());
		echo '<font color="#00CC33" size="5" face="haettenschweiler"><center>U bent succesvol uitgeschreven!</center></font>';
		//include ("nieuwsbrief.php");
	}else{
		
		echo '<font color="#ff0000" size="5" face="haettenschweiler"><center>Gelieve alle gegevens correct in te vullen!</center></font>';
		//include ("nieuwsbrief.php");
	};
};
?>  
</div>
 
Je moet controleren of het formulier verzonden is, dat doe je met:

if($_SERVER['REQUEST_METHOD' ] == 'POST'){
 
ok, ik zal eens kijken waar ik heb moet plaatsen..

het rare is dat het ervoor nog werkte.. maar ik weet exact meer wat ik verandert heb zodat het niet meer werkt :)
 
Je error_reporting op het hoogste niveau gezet, zoals het hoort.
 
Hey,
probleem is opgelost door if($_SERVER['REQUEST_METHOD']=='POST')

tnx a lot

:thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan