IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Controle php & redirection


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Controle php & redirection
    Bonjour je vais essayer d'être assez claire dans mes explications pour poser mes 2-3 questions :

    J'ai une page index.php avec un lien livre d'or (fonction ajax)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="" onclick="envoieRequete('livre_dor/livredor.php','ajaxBox');" >Livre d'or</a></li>

    celle-ci permet de modifier juste la partie du site.
    Fonction Ajax
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function envoieRequete(url,id)
    {
    var xhr_object = null;
    var position = id;
    if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
    else
    if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    // On ouvre la requete vers la page désirée
    xhr_object.open("GET", url, true);
    xhr_object.onreadystatechange = function(){
    if ( xhr_object.readyState == 4 )
    {
    // j'affiche dans la DIV spécifiées le contenu retourné par le fichier
    document.getElementById(position).innerHTML = xhr_object.responseText;
    }
    }
    // dans le cas du get
    xhr_object.send(null);
    }

    livredor.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    	include('../configuration/config.php'); 
    	mysql_connect($db_server, $db_username, $db_password);
    	mysql_select_db($db_name);
    ?>
    <form method="post" action="livre_dor/verif_livredor.php">
    	<p> Laissez nous une trâce de votre passage .... </p>
    	<p> * Pseudo : <input name="pseudo" /><?php if ((isset($err_pseudo)) AND (empty($POST[$err_pseudo]))) echo $err_pseudo; ?><br /> </p>
    		 <p> Site web : www.<input name="siteweb" /><br /></p>
    		* Message :<br />
    		<textarea name="message" maxlength="256" rows="3" cols="50"></textarea><br />
    		<input type="submit" value="Envoyer" />
    		<p> (*) Champ obligatoire</p>
    	</p>
    </form>
    <?php
    	/* test champ pseudo */
    	if (empty($POST['pseudo']))
    		$err_pseudo = "Champ pseudo vide";
     
    	$tot_message = mysql_query("SELECT id,pseudo,siteweb,message,date_heure FROM livre_dor ORDER BY date_heure DESC") or die(mysql_error());
    	$nb = mysql_num_rows($tot_message); 
    	if ($nb == 0) {
    		echo "<p>Soyez le premier à laisser un message !!!</p>";
    	} else { ?>
    <?php	
    		/*echo "<p>Nombre de messages : $nb</p>";*/
    		while ($enreg = mysql_fetch_array($tot_message)) {
    			echo '<p> Le '. $enreg['date_heure'] .'<br /><strong>' . $enreg['pseudo'] . '</strong> a écrit 
    			:<br />' . $enreg['message'] . '<br />';
    			if ($enreg['siteweb'] <> "") {
    				echo 'Site web : <a href=www.'.$enreg['siteweb'].'>www.' . $enreg['siteweb'] . '</a></p>';
    			}
    		}
    	}
    ?>
    </div>
    Cette page propose un formulaire qui insere les champs ds la base de donnée avec verif_livredor.php.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    include('../configuration/config.php'); 
    mysql_connect($db_server, $db_username, $db_password);
    mysql_select_db($db_name);
    if (isset($_POST['pseudo']) AND isset($_POST['message']))
    {
    $pseudo =
    mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); 
    // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $siteweb =
    mysql_real_escape_string(htmlspecialchars($_POST['siteweb']));
    $message =
    mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
    // De même pour le message
    $message = nl2br($message); 
    // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
    // On peut enfin enregistrer :o)
    $DateHeure= date("Y-m-d H:i:s");
    $req = "INSERT INTO livre_dor (pseudo,siteweb,message,date_heure) VALUES('$pseudo','$siteweb','$message','".$DateHeure."')";
    //echo $req;
    mysql_query($req) or die(mysql_error()) ;
    }
    ?>
    Maintenant que tous est présenté, je me permet de poser 2-3 questions:
    Dans mon formulaire je désire que mon champ pseudo et message soit obligatoire et que ci ceux-ci sont vide je voudrais afficher un p'tit message d'information j'ai éssayé mais sa ne marche pas ? j'attend votre aide
    De plus, quand un message est validé enregistré dans la base je voudrai retombé sur ma page index.php mais la zone changeante livredor.php ??? (je sais pas si je suis clair)

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    j'ai éssayé mais sa ne marche pas ?
    Tu as mis $POST au lieu de $_POST.
    Et tu as mis la définition de $err_pseudo après la ligne qui doit l'afficher.
    Pour que ça fonctionne il faut par contre que ton formulaire revoit sur lui même.

    Schématiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    si formulaire saisi {
        si tous les champs sont ok {
            insertion
            redirection
        }
        sinon {
           messages d'erreurs
        }
    }
    formulaire
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. php redirection avec cURL conserver session
    Par allaf dans le forum Langage
    Réponses: 4
    Dernier message: 15/04/2009, 16h48
  2. executer un controle php apres submit
    Par titounnette dans le forum Langage
    Réponses: 3
    Dernier message: 16/04/2008, 15h08
  3. [Upload] PHP - Redirection après envoi d'un upload
    Par ketoum dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2007, 21h15
  4. Style Switcher CSS/PHP > redirection avec 2 includes
    Par swaag dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/12/2006, 15h50
  5. [Conception] Passage De Variable Avec Post Via Un Script Php + Redirection
    Par british_toons dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/09/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo