Problème de mise en relation formulaire\BaseDeDonnée + Erreur.

Fermé
luginoxi - Modifié par luginoxi le 7/03/2017 à 11:52
 luginoxi - 7 mars 2017 à 19:54
Bonjour,
Je me permet de vous demandez de l'aide car ça vas faire maintenant 3 mois que je cherche une solution a mon problème de base donnée.
Tout d'abord j'ai créer un site en HTML classique. Il contient 3 pages dont un avec un formulaire et c'est la que intervient mon problème.
J'utilise easyphp.

Présentation des documents.

Mon formulaire en html :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title> formulaire de commande </title>
<link rel="stylesheet" href="monstyle.css">
</head>

<body>
<h1> Formulaire **** pour client. </h1>
<form name="Formulaire" action="traitement.php" onsubmit="return validateForm()" method="post">

<fieldset>
<legend>Informations de commande :</legend>

<label for="societe">Nom de l'entrepise : </label>
<input type="text" name="entreprise" id="entreprise"><br>
<br>

<label for="societe">Materiels necessaire : </label>
<input type="text" name="materiels" id="materiels"><br>
<br>

<label for="piece">Nom de la piece : </label>
<input name="piece" id="NomPiece"></input> <br>
<br>

<label for="date"> Date : </label>
<input type="date" /><br>
<br>

<label for="telephone"> Numero de telephone : </label>
<input type="tel" /><br>
<br>
</fieldset>
<br>

<fieldset>
<legend>Indentification :</legend>
<label for="pseudo">Votre pseudo :</label>
<input type="text" name="pseudo" id="pseudo" /><br>
<br>


<label for="pass">Votre mot de passe :</label>
<input type="password" name="pass" id="pass" /> <br>
<br>
</fieldset>
<br>

<input type="submit" value="Envoyer">
<INPUT TYPE=RESET VALUE="Effacer">
</form>

<ul class="navbar">
<li><a href="mapage.html" rel="nofollow noopener noreferrer" target="_blank">Index</a>
<li><a href="souspartie.html" rel="nofollow noopener noreferrer" target="_blank">Premiere Partie</a>
<li><a href="souspartie2.html" rel="nofollow noopener noreferrer" target="_blank">Deuxieme Partie</a>
</ul>

</body>
</html>


Et mon document traitement.php :

<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'projet_numeca'); // nom de la base
 
// Connexion au serveur mysql
$base= mysqli_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE);
 
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    printf("Échec de la connexion : %s\n", mysqli_connect_error());
    exit();
}


 
$msg_erreur = "Erreur. Les champs suivants doivent etre obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;

// vérification des champs 
if (isset($_POST['entreprise']))
{
    $entreprise = stripslashes($_POST['entreprise']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $entreprise = htmlspecialchars($entreprise); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $entreprise = nl2br($entreprise); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $entreprise = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $entreprise);
    $entreprise = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $entreprise);
    $entreprise = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $entreprise);
    $entreprise = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $entreprise);

    // Et on affiche le résultat. Admirez !
    echo $entreprise . '<br /><hr />';
}
if (isset($_POST['materiels']))
{
    $materiels = stripslashes($_POST['materiels']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $materiels = htmlspecialchars($materiels); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $materiels = nl2br($materiels); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $materiels = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $materiels);
    $materiels = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $materiels);
    $materiels = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $materiels);
    $materiels = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $materiels);

    // Et on affiche le résultat. Admirez !
    echo $materiels . '<br /><hr />';
}
if (isset($_POST['piece']))
{
    $piece = stripslashes($_POST['piece']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $piece = htmlspecialchars($piece); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $piece = nl2br($piece); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $piece = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $piece);
    $piece = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $piece);
    $piece = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $piece);
    $piece = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $piece);

    // Et on affiche le résultat. Admirez !
    echo $piece . '<br /><hr />';
}
if (isset($_POST['date']))
{
    $date = stripslashes($_POST['date']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $date = htmlspecialchars($date); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $date = nl2br($date); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $date = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $date);
    $date = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $date);
    $date = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $date);
    $date = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $date);

    // Et on affiche le résultat. Admirez !
    echo $date . '<br /><hr />';
}
if (isset($_POST['pseudo']))
{
    $pseudo = stripslashes($_POST['pseudo']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $pseudo = htmlspecialchars($pseudo); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $pseudo = nl2br($pseudo); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $pseudo = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $pseudo);
    $pseudo = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $pseudo);
    $pseudo = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $pseudo);
    $pseudo = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $pseudo);

    // Et on affiche le résultat. Admirez !
    echo $pseudo . '<br /><hr />';
}
if (isset($_POST['pass']))
{
    $pass = stripslashes($_POST['pass']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $pass = htmlspecialchars($pass); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $pass = nl2br($pseudo); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $pass = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $pass);
    $pass = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $pass);
    $pass = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $pass);
    $pass = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $pass);

    // Et on affiche le résultat. Admirez !
    echo $pass . '<br /><hr />';
}

if (isset($_POST['telephone']))
{
    $telephone = stripslashes($_POST['telephone']); // On enlève les slashs qui se seraient ajoutés automatiquement
    $telephone = htmlspecialchars($telephone); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $telephone = nl2br($telephone); // On crée des <br /> pour conserver les retours à la ligne
    
    // On fait passer notre texte à la moulinette des regex
    $telephone = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $telephone);
    $telephone = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $telephone);
    $telephone = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $telephone);
    $telephone = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0" rel="nofollow noopener noreferrer" target="_blank">$0</a>', $telephone);

    // Et on affiche le résultat. Admirez !
    echo $telephone . '<br /><hr />';
}

  $sql = "INSERT INTO projet_numeca VALUES ('', '".$entreprise."', '".$materiels."', '".$piece."', '".$pseudo."','".$pass."', now())";
  $res = mysql_query($sql);
 
  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
  }
?>



Et donc quand je remplis mon formulaire et que je fais "envoyer" :

Énonciation des problèmes rencontrer :

1 - Ca m'envois directement sur
http://127.0.0.1/edsa-Projet/traitement.php


2 - J'ai tous ca qui s'affiche :
 auchan
bois, fer
turbine
pseudo
mdp

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\traitement.php on line 132

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\traitement.php on line 132

Warning: mysql_query(): A link to the server could not be established in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\traitement.php on line 132
Access denied for user ''@'localhost' (using password: NO)

J'arrive donc a avoir le résultat de "entreprise", "materiels", "Piece", "pseudo", "mdp".
Sauf que je les reçois pas sur ma base de donnée mais juste après avoir remplis mon formulaire. (a la vue de tous ?)

3 - Mon formulaire n'envoit aucun résultat a ma base de données qui est pourtant bien définit.

Merci de votre aide et si il vous faut des indications pour résoudre ce problème dites le moi.
Au revoir.

2 réponses

jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 680
7 mars 2017 à 11:53
Bonjour,

Sans aller plus loin ....

Tu as utiliser, pour te connecter à ta bdd ... l'extension : mysqli (note le I ... c'est le plus important ... )

Ensuite.. tu as laissé, pour tes requêtes, l'ancienne extension mysql (sans le i )....
  $res = mysql_query($sql);

... il faut donc modifier tes instructions en utilisant mysqli

0
Salut,
Merci de ta réponse si rapide !

Le problème avec les mysqli sont des fois totalement différent des mysql du coups je ne suis pas sure des commandes que je dois ajouter. Du coups pour essayer j'ai mis :

$sql = "INSERT INTO projet_numeca VALUES ('', '".$entreprise."', '".$materiels."', '".$piece."', '".$pseudo."','".$pass."', now())";
$res = mysqli_query($sql);

if ($res) {
echo $msg_ok;
} else {
echo mysqli_error();
}


J'imagine bien que ce n'est pas bon car je reçois ceci comme message.

  Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp64\www\traitement.php on line 132

et
 Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp64\www\traitement.php on line 137


Au revoir !
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 680
7 mars 2017 à 19:28
0
Oui j'ai vu mais je comprend ce que je dois mettre car en essayant déjà ca fonctionnais pas
en suite ce n'est pas le seul problème que je rencontre ^^
0