une colonne de ma table reste vide
Posté : 07 févr. 2017, 19:55
Bonjour
j'ai ma table sur mysql, qui fonctionne, je veux dire par-là, lorsque je fais une insertion directe via "phpmyadmin", tous les enregistrements se font.
quand je passe par ma page php, j'ai une colonne qui reste vide.
j'ai même essayé de mettre des lettres au lieu de chiffre, ça ne fonctionne pas, non plus.
autre chose, si je ne remplie pas tous les champs, je n'ai pas le message d'erreur... (?)
une aide de votre part, me ferait du bien
merci
j'ai ma table sur mysql, qui fonctionne, je veux dire par-là, lorsque je fais une insertion directe via "phpmyadmin", tous les enregistrements se font.
quand je passe par ma page php, j'ai une colonne qui reste vide.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<?php
// on se connecte à notre base
mysql_connect ("localhost", "base", "mdp");
mysql_select_db ("table");
if (isset($_POST['destinataire']) AND $_POST['destinataire'] == 'Ajouter au site') {
$ref_a = htmlspecialchars($_POST['ref_a']);
$lieu_a = htmlspecialchars($_POST['lieu_a']);
$auteurdate_a = htmlspecialchars($_POST['auteurdate_a']);
$url_a = htmlspecialchars($_POST['url_a']);
if(!empty($_POST['ref_a']) AND !empty($_POST['lieu_a']) AND !empty($_POST['auteurdate_a']) AND !empty($_POST['url_a']))
{
$erreur = 'Remplir tous les champs';
}
else {
// si tout a été bien rempli, on insère le message dans notre table SQL
// les autres champs de la table devront avoir l'attribut NULL et non pas NOT NULL, Null indique au champ qu'il pourra rester vide.
$sql = "INSERT INTO pgfoto (ref_a, lieu_a, auteurdate_a,url_a) VALUES ('" . $ref_a . "','" . $lieu_a ."','" . $auteurdate_a ."','" . $url_a ."')";
}
// on lance la requête et on impose un message d'erreur
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
exit('Lien, lieu et auteur avec date envoyés. <br /><br />Retour à la page précédente <a href="javascript:history.back()">Retour</a> ');
}
?>
<html>
<head>
<title>Envoi photo google</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body ">
<font face="Comic Sans MS" size="3" color="#006699">
<div align="center"><H3>Enregistrement pour la page <H2>AQUAGYM</H2></H3>
<br /><br />
<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>">
<table>
<tr>
<td align="right"><label for="ref_a">Entrer un chiffre de référence : </label>
</td>
<td align="left"><input type="varchar" placeholder="entrer un chiffre" name="chiffre" size="5" value="<?php if(!empty($_POST['ref_a'])) : echo htmlspecialchars($_POST['ref_a'], ENT_QUOTES); endif; ?>" />
</td>
</tr>
<tr>
<td align="right"><label for="lieu_a">nom de l'album, vidéo ou diaporama : </label>
</td>
<td align="left"><input type="text" placeholder="entrer le lieu" name="lieu_a" size="40" value="<?php if(!empty($_POST['lieu_a'])) : echo htmlspecialchars($_POST['lieu_a'], ENT_QUOTES); endif; ?>" />
</td>
</tr>
<tr>
<td align="right"><label for="auteurdate_a">nom de l'auteur et/ ou date : </label>
</td>
<td align="left"><input type="text" placeholder="entrer l'auteur" name="auteurdate_a" size="40" value="<?php if(!empty($_POST['auteurdate_a'])) : echo htmlspecialchars($_POST['auteurdate_a'], ENT_QUOTES); endif; ?>" />
</td>
</tr>
<tr>
<td align="right"><label for="url_a">Lien google photo aquagym : </label>
</td>
<td align="right"><input type="text" placeholder="copier le lien" name="url_a" size="50" value="<?php if(!empty($_POST['url_a'])) : echo htmlspecialchars($_POST['url_a'], ENT_QUOTES); endif; ?>" />
</td>
</tr>
</table>
<br /><br />
<input type="submit" value="Ajouter au site" name="destinataire">
</form>
<br /><br />
</font>
<br /><br />
</div>
</body>
</html>
ma colonne "ref_a" reste vide, et ce n'est pas faute d'avoir chercher pourquoi, mais je ne trouve pas...j'ai même essayé de mettre des lettres au lieu de chiffre, ça ne fonctionne pas, non plus.
autre chose, si je ne remplie pas tous les champs, je n'ai pas le message d'erreur... (?)
une aide de votre part, me ferait du bien
merci