Problème empty() rempli par des warnings
Bonjour,
Je me suis remis au PHP mais je suis un peu rouillé :aie:
J'essaie de faire un formulaire qui s'initialise avec des variables seulement s'il a déjà été envoyé.
J'utilise
Code:
isset($_POST['submit'])
et je vérifie la valeur des variables avec Il y plusieurs problèmes:
- Quand j'ouvre le form pour la première fois, au lieu de mettre les champs vides, j'ai l'impression qu'il les remplit avec les Warnings php.
Est-ce normal, dois-je désactiver quelque chose?
- Quand j'indente mon code de textarea comme ici:
Code:
1 2 3
| <textarea id="elvismail" name="elvismail" rows="8" cols="40">
<?php echo $text;?>
</textarea><br /> |
j'ai l'impression que mon browser (chrome ou IE) me met de l'indentation dans le code HTML :calim2:
Quelqu'un peut m'aider ?
Voici mon code en entier (il s'agit d'un exercice tiré d'un livre):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
if (isset($_POST['submit'])){
$from = 'laurentplatteau@hotmail.com';
$subject = $_POST['subject'];
$text = $_POST['elvismail'];
$output_form = false;
echo (empty($subject));
echo (empty($text));
if (empty($subject) && empty($text)){
echo 'here';
//We know both $subject AND $text are blank
echo 'You forgot the email subject and body text.<br />';
$output_form = true;
}
if (empty($subject) && (!empty($text))){
echo 'You forgot the email subject.<br />';
$output_form = true;
}
if ((!empty($subject)) && empty($text)){
echo 'You forgot the email body text.<br />';
$output_form = true;
}
if ((!empty($subject)) && (!empty($text))){
$dbc = mysqli_connect('localhost','root','','elvis_store')
or die('Error connecting to MySQL server.');
$query = "SELECT * FROM email_list";
$result = mysqli_query($dbc,$query)
or die('Error querying database');
while($row = mysqli_fetch_array($result)){
$to = $row['email'];
mail($to,$subject,$text,'From:'.$from);
echo 'Message sent to: ';
echo $row['first_name'].' '.$row['last_name'].
' : '.$row['email'].'<br />';
}
mysqli_close($dbc);
}
}
else{
$output_form = true;
}
if ($output_form){
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<label for="subject">Subject of email:</label><br />
<input id="subject" name="subject" type="text" size="30" value="<?php echo $subject;?>"/><br />
<label for="elvismail">Body of email:</label><br />
<textarea id="elvismail" name="elvismail" rows="8" cols="40">
<?php echo $text;?>
</textarea><br />
<input type="submit" name="submit" value="submit" />
</form>
<?php
}
?>
</body>
</html> |
Merci pour votre aide