Form et bd
sherif
-
sherif -
sherif -
Bonjour,
j'ai cree une bdd "ma_base" avec une table"ma_table" de 2 champs "nom" et "email"
mon probleme est que quand je fais ajouter je suis envoye vers une page avec l'erreur 403 et je ne comprend pourquopi voila le code de mon formulaire
<? include("connexion.php");
$URL = $_SERVER["SCRIPT_NAME"];
$nom="";
if(!empty($_POST["nom"]))
$nom=addslashes($_POST["nom"]);
$email="";
if(!empty($_POST["email"]))
$email=$_POST["email"];
$message="";
// si le champ "email" n'est pas vide
if($email) {
// on ajoute la fiche
$table="ma_table";
$query = "INSERT INTO $table(nom,email)";
$query .= " VALUES('$nom','$email')";
$result = mysql_query($query);
// et on prépare le message à afficher
$message = "client ajoute"
}
?>
<HTML><HEAD><TITLE>Exemple</TITLE>
<script language="JavaScript"><!--
function verif(email) { // Email valide ?
var arobase = email.indexOf("@")
var point = email.lastIndexOf(".")
if((arobase < 3)||(point + 2 > email.length)
||(point < arobase+3)) return false
return true
}
function test(nom,mail) { // Vérifie le formulaire
if(nom.value=="") { alert('Nom requis !')
nom.focus();return false }
if(!verif(mail.value)) { alert('Email invalide !')
mail.focus();return false }
return true // envoie les champs
}
//--></script>
</HEAD><BODY>
<table width=100% height=100%><tr><td><center>
<? echo $message; ?>
<form method="post" action="<? echo $URL; ?>"
onSubmit="return test(this.nom,this.email)">
<table><tr>
<td>Nom</td>
<td><input type="text" name="nom"></td>
<td>E-mail</td>
<td><input type="text" name="email"></td>
</tr><tr>
<th colspan=4>
<input type="Submit" value="Ajouter">
</th>
</tr></table>
</form>
</td></tr></table>
</BODY>
</HTML>
<? mysql_close(); ?>
sachant que
connexion.php est
<?php
$host="localhost"; //Le nom du serveur
$user="root"; //Nom d'utilisateur du serveur
$pass=""; //Mot de passe du serveur
$bdd="ma_base"; //Le nom de la base de données
@mysql_connect($host,$user,$pass) or die("<h3>Impossible de se connecter au serveur de la base de données!</h3><br>");
// Test de connexion au serveur
@mysql_select_db($bdd) or die("<h3>erreur de connexion a la base de donnees a</h3><br>");
//Test de connexion à la base de données
?>
j'en ai vraiment besoin de vos reponse
merci d'avance
j'ai cree une bdd "ma_base" avec une table"ma_table" de 2 champs "nom" et "email"
mon probleme est que quand je fais ajouter je suis envoye vers une page avec l'erreur 403 et je ne comprend pourquopi voila le code de mon formulaire
<? include("connexion.php");
$URL = $_SERVER["SCRIPT_NAME"];
$nom="";
if(!empty($_POST["nom"]))
$nom=addslashes($_POST["nom"]);
$email="";
if(!empty($_POST["email"]))
$email=$_POST["email"];
$message="";
// si le champ "email" n'est pas vide
if($email) {
// on ajoute la fiche
$table="ma_table";
$query = "INSERT INTO $table(nom,email)";
$query .= " VALUES('$nom','$email')";
$result = mysql_query($query);
// et on prépare le message à afficher
$message = "client ajoute"
}
?>
<HTML><HEAD><TITLE>Exemple</TITLE>
<script language="JavaScript"><!--
function verif(email) { // Email valide ?
var arobase = email.indexOf("@")
var point = email.lastIndexOf(".")
if((arobase < 3)||(point + 2 > email.length)
||(point < arobase+3)) return false
return true
}
function test(nom,mail) { // Vérifie le formulaire
if(nom.value=="") { alert('Nom requis !')
nom.focus();return false }
if(!verif(mail.value)) { alert('Email invalide !')
mail.focus();return false }
return true // envoie les champs
}
//--></script>
</HEAD><BODY>
<table width=100% height=100%><tr><td><center>
<? echo $message; ?>
<form method="post" action="<? echo $URL; ?>"
onSubmit="return test(this.nom,this.email)">
<table><tr>
<td>Nom</td>
<td><input type="text" name="nom"></td>
<td>E-mail</td>
<td><input type="text" name="email"></td>
</tr><tr>
<th colspan=4>
<input type="Submit" value="Ajouter">
</th>
</tr></table>
</form>
</td></tr></table>
</BODY>
</HTML>
<? mysql_close(); ?>
sachant que
connexion.php est
<?php
$host="localhost"; //Le nom du serveur
$user="root"; //Nom d'utilisateur du serveur
$pass=""; //Mot de passe du serveur
$bdd="ma_base"; //Le nom de la base de données
@mysql_connect($host,$user,$pass) or die("<h3>Impossible de se connecter au serveur de la base de données!</h3><br>");
// Test de connexion au serveur
@mysql_select_db($bdd) or die("<h3>erreur de connexion a la base de donnees a</h3><br>");
//Test de connexion à la base de données
?>
j'en ai vraiment besoin de vos reponse
merci d'avance
2 réponses
Salut
une remarque toute bête (vu que je connais pas php, elle pouvait pas être petrtinente) : pourquoi ton script principal utilise <? & ?> pour délimiter ton code alors que connexion.php utilise <?php & ?> ?
il viendrait pas de là ton 403 ?
astuce bonus: $result n'est pas vérifié juste après l'appel à mysql... vérifie-le !
une remarque toute bête (vu que je connais pas php, elle pouvait pas être petrtinente) : pourquoi ton script principal utilise <? & ?> pour délimiter ton code alors que connexion.php utilise <?php & ?> ?
il viendrait pas de là ton 403 ?
astuce bonus: $result n'est pas vérifié juste après l'appel à mysql... vérifie-le !