Aide modification base de données.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide modification base de données.

par Invité » 02 juil. 2007, 08:55

Bonjour alors voilà j'ai ce code :
<?php
// demarre une session
session_start();

// Connection au serveur mySQL

$sql_serveur = "localhost"; // Serveur mySQL
$sql_base = "offres"; // Base de donnees mySQL
$sql_login = "root"; // Login de connection a mySQL
$sql_password = "root"; // Mot de passe pour mySQL

$nom_fichier = "offre.php"; // Nom de votre page
                    // ex: index.php si ce script est sur la page index.php

@mysql_connect($sql_serveur, $sql_login, $sql_password) or die("Connection interrompue");
@mysql_select_db($sql_base);

?>

<html>
<head>
<title>Titre</title>
</head>
<body>
<?php

// variables du formulaire
$action = isset($_POST['action']) ? $_POST['action'] : '';  
$login = isset($_POST['login']) ? $_POST['login'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';


// si le login et pass on été au préalable cryptés 
// (en md5 dans l'exemple) dans votre base
// vous devez enlever les commentaires sur les 2 lignes suivante

//$login  = md5($_POST['login']);
//$pass   = md5($_POST['pass']);


// Si aucune action, le formulaire est afficher
if ($action !=1 ) {

echo 'Veuillez entrer votre Login et Mot de Passe:<br />';
echo '<form action="'.$nom_fichier.'" method="post">';
echo '<input type="hidden" name="action" value="1">';
echo 'Login: <input type="password" name="login"><br />';
echo 'Passe: <input type="password" name="pass"><br />';
echo '<input type="submit" value="Connexion">';
echo '</form>';
                  }

// Sinon
if ($action == 1) {

$q = mysql_query("SELECT * 
                  FROM user
                  WHERE login='$login' 
                  AND pass='$pass'");
$n = mysql_num_rows($q);

    if ($n == 1 AND $login != "" AND $pass != "")
       {
       // Le login est placé dans la session
       $_SESSION['login_session'] = $login;
       // redirection

        // ATTENTION A BIEN METTRE LA PAGE DE REDIRECTION ICI

       header("offre.php");
       }

// Si le login ou le mot de passe sont incorrect
// affiche de nouveau le formulaire

         else{

echo 'Veuillez entrer votre Login et Mot de Passe:<br />';
echo '<form action="'.$nom_fichier.'" method="post">';
echo '<input type="hidden" name="action" value="1">';
echo 'Login: <input type="password" name="login"><br />';
echo 'Passe: <input type="password" name="pass"><br />';
echo '<input type="submit" value="Connexion">';
echo '</form>';

die('<font color="red">Informations incorrectes!');
           }
         }
?>
</body>
</html>

Et je voulais savoir comment faire pour que si je ne rentre aucun pass ou login, ou un mauvais login ou pass que je ne puisse pas accéder dans la page cible.

Merci d'avance

par Sékiltoyai » 29 juin 2007, 14:18

Mais je le met ou dans quoi ? et je veux que ma base se remplis a partir des données que l'utilisateur aura remplie dans le formulaire et pas avec une requete rentré par l'utilisateur...
Une requète, c'est toi qui l'écrit, pas l'utilisateur...

par Ryle » 29 juin 2007, 12:01

Bah oui, mais comme tu ne donnes pas de code de ce que tu as déjà fait, je ne sais pas ce que tu sais faire ou pas, de ce que tu comprends ou pas, du coup je sais pas où je dois m'étendre ou pas :)

Donc... tu veux un formulaire ou l'utilisateur saisi ses infos, tu as un exemple basique ci dessus.
Tu veux ensuite récupérer les données qu'il a saisi, cf. ci dessus également.
Puis tu veux conserver ses données en base, donc il faut te connecter (et cela devrait répondre à ta question du où et dans quoi :))
Tu veux enfin insérer les données qu'il a saisi dans ta base, il te faut donc écrire ta requête SQL de type INSERT en utilisant les valeurs récupérées de l'utilisateur (attention à bien protéger les données)
Il ne te reste plus qu'à exécuter la requête que tu viens de construire pour que les données soit insérées dans ta base :)

par Glaw » 29 juin 2007, 11:29

Oui je sais ca...

Mais je le met ou dans quoi ? et je veux que ma base se remplis a partir des données que l'utilisateur aura remplie dans le formulaire et pas avec une requete rentré par l'utilisateur...

En faite l'utilisateur aura des champ de texte a remplir genre :

Nom
Prénom
...

Et quand il les remplis et bien dans la table ca créer un nouveau client par exemple...

par Ryle » 29 juin 2007, 10:52

Et bien il te faut te connecter à ta base de données (ex : mysql_connect()) pour pouvoir y exécuter une requête (ex : mysql_query()) et passer la commande SQL que tu veux exécuter sur ta base :)

par Glaw » 29 juin 2007, 10:50

Ouai mais comment faire pour le formulaire une fois que je remplie les champs et bien ca modifie la base de données ??

par Ryle » 29 juin 2007, 09:59

Et si tu nous disais plutôt ce que tu ne comprends pas pour que l'on puisse te l'expliquer afin de pouvoir être autonome ? :)

Bon aller, chuis dans un bon jour, voici donc un formulaire tout fait que tu n'as ensuite qu'à modifier :

formulaire.php

Code : Tout sélectionner

<form name="formulaire" action="traitement.php" method="post"> <input type="text" name="monChamp" value="" /> </form>
traitement.php
<?php
  $var = null;
  if (isSet($_POST['monChamp']) // on test si la variable est bien présente dans $_POST
    $var = $_POST['monChamp'];

  echo 'Ma valeur est ' . $var; // on affiche le résultat
?>
Voilà, à toi maintenant :)

par Glaw » 29 juin 2007, 09:22

Je n'est pas très bien compris, si quelqu'un peut me trouver un formulaire déjà fait que je dois ensuite juste modifier ce serai avec plaisir que je l'accepterai...

Et oui il faudrait que j'avance très vite aujourd'hui et que je finisse cette partie.

Merci d'avance.

par Glaw » 29 juin 2007, 09:13

Merci pour ta réponse rapide... je préviendrai si j'ai encore des problèmes.

par Calimero » 29 juin 2007, 09:07

Bonjour,

Trois notions à saisir :

- La soumission de données via formulaire dans les pages web
- Un langage de programmation côté serveur (ici, on parle de Php)
- Les requêtes SQL qui permettent l'interaction avec le SGBD

Je te conseille de faire les tutoriaux de http://phpdebutant.org/ (colonne de droite), ils sont progressifs et très clairs pour appréhender tout ça.

Aide modification base de données.

par Glaw » 29 juin 2007, 09:01

Bonjour alors voila j'ai une base de données MySQL que je souhaite modifier a partir d'une page web donc comment dois-je procédé?

Je dois faire une page avec mes trois boutons : Créer, Modifier, Supprimer.
Ensuite je dois faire des formulaire pour ces trois boutons?

Mais ma question principale est :

Comment en validant ces formulaire je peux modifier les données de la base ?

Merci d'avance.