8791 sujets

Développement web côté serveur, CMS

Bonjour,
J'aimerais vérifier les 2 champs d'un formulaire d'envoie de mail.

voilà j'ai ca:
<html>

<head>
<title>
Envoyer une newsletter
</title>
<link href="../../style.css" rel="stylesheet" type="text/css">
</head>
<body>
<center>
<table border="0" cellspacing="0" cellpadding="3">
<tr height="100">
<td>
<br>
</td>
</tr>
<tr>
<td>
<center>
<font face="verdana" size="2" color="#808080"><b>Envoyer votre newsletter</b></font>
</center>
</td>
</tr>
<br>
<tr>

<form  method="post" action="news_send.php">
<table width="445" border="0" align="center" cellspacing="0">
<tr>
<td width="130" align="right"><p> <font face="verdana" size="2"color="#808080"> <b>Sujet : </b> </font></p></td>
<td width="311" align="left"><p><input type="text" name="sujet" size="44"></p> </td>
</tr>
<tr>
<td width="130" align="right" valign="top" rowspan="2"> <p><font face="verdana" size="2" color="#808080"><b>Message</b></font></p> </td>
<td width="311"> <p><textarea name="message" rows="18" cols="42"> </textarea></p> </td>
</tr>
<tr>
<td width="311" align="left"> <p><input type="submit" value="Envoyer la newsletter"><input type="reset" value="Réinitialiser"></p></td>
</tr>
</table>
</form><?php if( $action['post'] == 'post' )
{
	$sujet = strip_tags ( $_POST['sujet'] );
	$message = strip_tags ( $_POST['message'] );
if( empty ( $sujet ) or empty ( $message ) )
    {
      report($erreurs['vide']);

      exit( header("Location: $url_create") );
    }
	?>
voilà j'ai fai cela avec de la peine mais j'ai une erreur :
Parse error: syntax error, unexpected $end in /home/www/e767ec6a1980e65d7c8350cee61cac91/web/newsletter/test.php on line 95

et voici la page :
<?php 
	if ($action=='ecrire')
	{
	// === traitement des données du formulaire ============================================================
		if (isset($_POST['teste_poste'])){ 
		// le formulaire a été soumis
        $etat = 'erreur';
		
        // --- test de la validité des champs saisis ---
        if (empty($_POST['sujet'])) {
		// il manque le titre 
                 $erreur='Saisissez un titre...';
        }
		elseif (empty($_POST['message'])) {
		// il manque le texte 
                 $erreur='Saisissez un texte...';
        }
        else { 
		// --- tous les champs sont correctement remplis: on pourra envoyer le formulaire ---
                 $etat='ok';
        	}
		}
		else { 
		// --- le formulaire n'a pas été soumis ---
           $etat='attente';
		}
		// === fin de traitement des données du formulaire =======================================================
		if ($etat!='ok')
		{// le formulaire n'a pas été soumis, ou soumis avec une erreur
         	if ($etat=='erreur'){
			//le formulaire a été soumis avec une erreur
                         echo '<p><strong>'.$erreur.'</strong><br /></p>'; 
			// afficher le message d'erreur
       		}
		?>
        
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>



</head>

<body>
<center>
<table border="0" cellspacing="0" cellpadding="3">
<tr height="100">
<td>
<br>
</td>
</tr>
<tr>
<td>
<center>
<font face="verdana" size="2" color="#808080"><b>Envoyer votre newsletter</b></font>
</center>
</td>
</tr>
<br>
<tr>

<form  method="post" action="news_send.php">
<table width="445" border="0" align="center" cellspacing="0">
<tr>
<td width="130" align="right"><p> <font face="verdana" size="2"color="#808080"> <b>Sujet : </b> </font></p></td>
<td width="311" align="left"><p><input type="text" name="sujet" value="<?php if (!empty($_POST['sujet']))
				{ 
                echo htmlspecialchars($_POST['sujet'],ENT_QUOTES);
        		}
				?>" size="44"></p> </td>
</tr>
<tr>
<td width="130" align="right" valign="top" rowspan="2"> <p><font face="verdana" size="2" color="#808080"><b>Message</b></font></p> </td>
<td width="311"> <p><textarea name="message"<?php
				if (!empty($_POST['message']))
				{ 
                echo htmlspecialchars($_POST['message'],ENT_QUOTES);
        		}
				?> rows="18" cols="42"> </textarea></p> </td>
</tr>
<tr>



<td width="311" align="left"> <p><input type="submit" value="Envoyer la newsletter">
<input type="reset" value="Réinitialiser"></p></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
Cela veut dire que php ne s'attends pas à trouver une balise de fin là.

Manque une accolade fermante probablement.
Voilà j'ai trouvé la balise maquante merci.

Mais il ne vérifie pas mes champs vide.

<?php 

	// === traitement des données du formulaire ============================================================
		if (isset($_POST['teste_poste'])){ 
		// le formulaire a été soumis
        $etat = 'erreur';
		
        // --- test de la validité des champs saisis ---
        if (empty($_POST['sujet'])) {
		// il manque le titre 
                 $erreur='Saisissez un titre...';
        }
		elseif (empty($_POST['message'])) {
		// il manque le texte 
                 $erreur='Saisissez un texte...';
        }
        else { 
		// --- tous les champs sont correctement remplis: on pourra envoyer le formulaire ---
                 $etat='ok';
        	}
		}
		else { 
		// --- le formulaire n'a pas été soumis ---
           $etat='attente';
		}
		// === fin de traitement des données du formulaire =======================================================
		if ($etat!='ok')
		// le formulaire n'a pas été soumis, ou soumis avec une erreur
         	if ($etat=='erreur'){
			//le formulaire a été soumis avec une erreur
                         echo '<p><strong>'.$erreur.'</strong><br /></p>'; 
			// afficher le message d'erreur
       		}
			
		?>
        
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>



</head>

<body>
<center>
<table border="0" cellspacing="0" cellpadding="3">
<tr height="100">
<td>
<br>
</td>
</tr>
<tr>
<td>
<center>
<font face="verdana" size="2" color="#808080"><b>Envoyer votre newsletter</b></font>
</center>
</td>
</tr>
<br>
<tr>

<form  method="post" action="news_send.php">
<table width="445" border="0" align="center" cellspacing="0">
<tr>
<td width="130" align="right"><p> <font face="verdana" size="2"color="#808080"> <b>Sujet : </b> </font></p></td>
<td width="311" align="left"><p><input type="text" name="sujet" value="" size="44"></p> </td>
</tr>
<tr>
<td width="130" align="right" valign="top" rowspan="2"> <p><font face="verdana" size="2" color="#808080"><b>Message</b></font></p> </td>
<td width="311"> <p><textarea name="message" rows="18" cols="42"> </textarea></p> </td>
</tr>
<tr>



<td width="311" align="left"> <p><input type="submit" value="Envoyer la newsletter">
<input type="reset" value="Réinitialiser"></p></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>