cedcyr

Inscris le 15/11/2009 à 23:33
  • Signature
    cedcyr
  • Site web
  • Nombre de sujets
    3
  • Nombre de messages
    13
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

cedcyr
le 31/01/2010 à 15:30
affichage des allertes utilisateur
Bonjour, en inspirant du cours et de la rubrique comment faire, j'ai créé un formulaire pour lesquels subsistent 2 bugs auquel je ne trouve aucune solution.
En premier lieu la fonction de vérification de la présence ou non du Login dans ma base ne se fait pas et donc la réinscription dans la base de données est systématique
et en deuxième lieu le message d'erreur liée à un mauvais remplissage du formulaire débouche sur des pages blanches (pour info le formulaire se trouve dans une ifarme d'une autre page de mon site)

Merci par avance pour vos lumières

cedcyr

Le code de mon formulaire
<html>
<head>
<title>Ma page de test</title>
</head>
<body >
<form action="test2.php" method="post" name="form1">
<h4>Votre nom : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type = "text" name = "nom" size ="30"/><br/>
<br/>
Votre prénon : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type = "text" name = "prenom" size ="30"/> <br/>
<br/>
Votre adresse mail :&nbsp;&nbsp;&nbsp; <input type = "text" name = "mail" size ="30"/> <br/>
<br/>
Votre identifiant :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type = "text" name = "identifiant"size ="30"value="<?php if (isset($_POST['identifiant'])) echo htmlentities(trim($_POST['identifiant'])); ?>"/> <br/>
<br/>
Votre mot de passe : &nbsp;&nbsp;<input type = "password" name = "pass" size ="30"value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"/> <br/>
<br/>
Confirmer votre mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"/> <br/>
<br/>
Votre département : &nbsp;&nbsp;&nbsp;&nbsp;<input type = "text" name = "departement" size ="30"/> <br/>
<br/>
Votre statut :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select name="statut" id="statut"><option selected="selected"></option>
<option value="particulier">Particulier</option>
<option value="professionel">Professionel</option></select> <br /></h4>
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type = "submit" name="inscription" value = "inscription"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type= "reset" value ="effacer" /><br/>
<br/>
<br/>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>


mon scritp php
<?php
class SendMail {
var $destinataire;
var $objet;
var $texte;
var $from;
function envoyer() {
mail ($this->destinataire, $this->objet, $this->texte,$this->from);
}
}
$hote = 'localhost';
$user = '******';
$pass = '*******';

if (isset($_POST['inscription']) && $_POST['inscription'] == 'inscription') {

if ((isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['mail']) && !empty($_POST['mail']))
&& (isset($_POST['identifiant']) && !empty($_POST['identifiant']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['departement']) && !empty($_POST['departement']))
&& (isset($_POST['statut']) && !empty($_POST['statut'])))
{

if($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.'; }


else {$base = mysql_connect($hote,$user,$pass);
mysql_select_db('attelage_accesattelage',$base);
$mysql = 'SELECT count(*) FROM inscription WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($mysql) or die('Erreur SQL !<br />'.$mysql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);



if ($data[0] == 0){
$mysql = 'INSERT INTO inscription VALUES("",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['mail']).'",
"'.mysql_escape_string($_POST['identifiant']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'",
"'.mysql_escape_string($_POST['departement']).'",
"'.mysql_escape_string($_POST['statut']).'")';

mysql_query ($mysql) or die ('Erreur SQL !'.$mysql.'<br />'.mysql_error());




$message = new SendMail ();
$message->from = "FROM:inscription@attelage-astuce.com";
$message->destinataire = $_POST['mail'];
$message->objet = "votre inscription sur attelage-astuce.com";
$message->texte = "bonjour";
$message->texte = "bienvenu sur http://www.attelage-astuce.com \nvous pouvez maintenant acceder aux notices de montage
\n \n votre identifiant est : ".$_POST['identifiant']." \n et votre mot de passe est : ".$_POST['pass']."
\n merci de ne pas repondre a ce mail, celui-ci vous a ete adresse automatiquement\n\n cordialement le webmaster.";
$message->envoyer();

$message = new SendMail ();
$message->from = "FROM:".$_POST['mail']."";
$message->destinataire = "webmaster@attelage-astuce.com";
$message->objet = "nouvelle inscription attelage-astuce.com";
$message->texte = "adresse mail : ".$_POST['mail']." \n\n identifiant : ".$_POST['identifiant']."
\n\n mot de passe : ".$_POST['pass'].".";
$message->envoyer();

session_start();
$_SESSION['login'] == $_POST['identifiant'];
header('Location: http://www.attelage-astuce.com');
exit();
}
else {
$erreur = 'identifiant déja utillisé, veulliez en changer.'; }
}
}

else {
$erreur = 'merci de remplire le formulaire correctement!';
}
}
?>
cedcyr
cedcyr
le 09/12/2009 à 11:13
header sans resultat
la redirection via la fonction header ne donne aucun resulta, en effet lorsque je valide le formulaire d'acces, au lieu de se rendre sur la page indiquée j'obtien une page blanche qui a pour url celle de mon script php (essai.php) et non celle de l'accueil membre! (attelage-astuce/liste.html)
merci pour votre aide

voici mon script

<?php

if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
{
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])))
{

$base = mysql_connect ('Localhost', 'attelage_chr', 'cedcyr1084');
mysql_select_db ('attelage_accesattelage', $base);


$sql = 'SELECT count(*) FROM inscription WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);




if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['id'] = $data['id'];

mysql_free_result($req);
mysql_close();

header('Location: ./liste.html');
exit;
}

elseif ($data[0] == 0) {
echo 'identifiant ou mot de passe incorrect.';
}

mysql_free_result($req);
mysql_close();
}
else {
echo 'Au moins un des champs est vide.';
}

}
?>


le formulaire est sur une page de test de mon site visible : http://www.attelage-astuce.com/accueilnotice.html

merci
cedcyr
cedcyr
le 15/11/2009 à 23:55
comparaisons d'un formulaire avec la base sql
merci pour votres indulgence car je debute seul dans mon coin avec mes bouquins et le net! j'essai de comparer les champs d'un formulaire avec des donnée d'une base sql et une erreur sbsiste que je ne parvient pas a corriger un oeuil averti me serais d'un grand secour!
voici mon code

<?php

$hote = 'localhost';
$user = 'root';
$pass = '';
$base = 'test';

$link = mysql_connect($hote,$user,$pass);
if (!$link)die('could not connect:'.mysql_error());

mysql_select_db($base);

if (isset($_POST['identifiant']) && isset($_POST['mot_de_passe']))

$sql = 'SELECT identifiant,mot_de_passe FROM inscription WHERE nom = '.$_POST['identifiant'].' AND '.$_POST['mot_de_passe'].'';

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

while ($data = mysql_fetch_array($req)) {

mysql_free_result ($req);

mysql_close ();

{

if ($data == $_POST['identifiant'] && $data == $_POST['mot_de_passe']) {

header ('location: test formulaire html.html');
}

else {

echo '<body onLoad="alert(\'mot de passe ou identifiant incorrect...\')">';

echo '<meta http-equiv="refresh" content="identification.html">';
}
}

?>

merci d'avance pour toutes les explication que vous voudrez bien me donner
cedcyr
LoadingChargement en cours