Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 09h57   #1
Membre régulier
 
Étudiant
Inscription : octobre 2010
Messages : 92
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 92
Points : 78
Points : 78
Par défaut DIV Message (alert en html) contenu dynamique

Bonjour,

J'aimerai lorsque je clique sur le bouton "Ajouter", que cela me fasse les vérifications PHP que je souhaite puis l'insertion dans la base SQL et que ça affiche le résultat dans un div "message" pour dire si l'insertion c'est bien passé ou non.

Finalement mon div "message" est un sorte de alert() en JavaScript qui est soit "display :none;" soit "display : block;"

Je ne vois pas de qu'elle façon remplir mon bloc message suivant le résultat sachant que mon div message est en faites dans un include et donc propre à toutes mes pages web.

entete.php
Code PHP :
1
2
3
4
5
6
7
8
9
10
<?php
echo '
<body>
		<div id="message">
//message de confirmation/échec/information
		</div>
		<div id="entete">
//header+menu
		</div>';
?>

ajout.php
Code PHP :
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
<?php
// Si on a cliquer sur le bouton ajouter
	if (isset($_POST['submitAjouter'])) {
		try {
			// Requête SQL
			$sqlInsertInto =  "INSERT INTO toto VALUES ()";
			// Ajout de l'équipement
			$count = $bdd->exec($sqlInsertInto);	
			// Si l'insertion s'est bien passé on affiche un message de confirmation
			if ($count == 1)
			{
				// Afficher message de confirmation
			}
			else
			{
				// Afficher message d'échec
			}
		}
		catch (Exception $e) {
			die('Erreur : '.$e->getMessage());
		}
	}
		include("entete.php");
?>
		<div id="corps">
				<form id="form" method="post" action="" class="divEquipAdd">
			<input type="submit" name="submitAjouter" value="Ajouter" />
			<fieldset>
				<legend>Informations</legend>
				<label>Commentaire :</label><textarea name="commentaire"><?php if (isset($_POST['commentaire'])) { echo $_POST['commentaire']; } ?></textarea><br/>
			</fieldset>
		</div>

Code CSS :
#message							{ position:fixed; top:20%; left:20%; right:20%; bottom:20%; background-color: #FFFFFF; border: 1px dotted black; display :none;}
zeclad01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 10h54   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
Tu connais la syntaxe nowdoc ?

Code :
1
2
3
4
5
6
7
8
9
<?php
 
$ma_var = "hello";
 
echo <<< XHTML
<div>
    Say {$ma_var} to Peter
</div>
XHTML;
Normalement, si tu es un programmeur consciencieux, tu devrais faire générer le flux HTML en fin de traitement, j'espère que c'est bien le cas
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h14   #3
Membre régulier
 
Étudiant
Inscription : octobre 2010
Messages : 92
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 92
Points : 78
Points : 78
Je ne connais pas la syntaxe nowdoc.
Ça permet de générer le flux HTML en fin de traitement ?

J'ai toujours appris a faire des include (enfin des require_once()).
zeclad01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h25   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
La syntaxe importe peu, ce qui importe c'est de faire la mise en forme une fois qu'on a toutes les données. Comment veux tu mettre en forme un message si tu ne l'a pas encore ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h42   #5
Membre régulier
 
Étudiant
Inscription : octobre 2010
Messages : 92
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 92
Points : 78
Points : 78
Citation:
Envoyé par Benjamin Delespierre Voir le message
La syntaxe importe peu, ce qui importe c'est de faire la mise en forme une fois qu'on a toutes les données. Comment veux tu mettre en forme un message si tu ne l'a pas encore ?
Je suis d'accord, j'ai bien saisi le problème.
D'où mon intention initial de modifier le message en JS avec un :

document.getElementById("message").innerHTML = "chaine";

Est-ce que tu aurai une idée de où me documenter sur la façon d'agencer son code, ses fichiers ... ? Notamment sur la façon de faire tout ton code puis de mettre en forme à la fin. Parce qu'il est vrai que je mélange un peu mes scripts, ma mise en forme et mes données au sein d'un même fichier .php.
zeclad01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 12h11   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
Code :
document.getElementById("message").innerHTML = "chaine";
Beurk

Citation:
Est-ce que tu aurai une idée de où me documenter sur la façon d'agencer son code, ses fichiers ... ? Notamment sur la façon de faire tout ton code puis de mettre en forme à la fin. Parce qu'il est vrai que je mélange un peu mes scripts, ma mise en forme et mes données au sein d'un même fichier .php.
MVC
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 12h50   #7
Membre régulier
 
Étudiant
Inscription : octobre 2010
Messages : 92
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 92
Points : 78
Points : 78
Citation:
Envoyé par Benjamin Delespierre Voir le message
Code :
document.getElementById("message").innerHTML = "chaine";
Beurk
C'est le problème de l'autodidaxie. Dur de déterminer si ce que tu fais est bien ou non car du moment où ça fonctionne t'es content ;-)

MVC ou templates (http://php.developpez.com/comparatifs/templates/) ?

J'ai déjà pratiqué du MVC pour du Java, même si les bases sont surement les mêmes. Aurais-tu un lien sur une formation/tuto MVC php ?

Concernant mon problème initial. Je pense avoir trouvé une parade assez "crade" en créant un <div id="message"> peu importe où dans la sémantique de la page (alors qu'initialement je voulais une sémantique correcte) et le supprimer dans mon entete.php (celle qui est inclus).
zeclad01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 13h37   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
Citation:
MVC ou templates (http://php.developpez.com/comparatifs/templates/) ?
Là n'est pas la question. Les templates peuvent tout à fait être utilisées au sein d'une architecture MVC.

Citation:
Concernant mon problème initial. Je pense avoir trouvé une parade assez "crade" en créant un <div id="message"> peu importe où dans la sémantique de la page (alors qu'initialement je voulais une sémantique correcte) et le supprimer dans mon entete.php (celle qui est inclus).
Sémantiquement, c'est mieux de mettre ce genre de messages à la fin et de le faire remonter visuellement avec CSS ou JS.
Ceci pour éviter que Google (ou ses copains) ne croient que les messages d'alerte ou de Warnings ne fassent partie du contenu.

Pour les tutos MVC, tu peux aller par là: http://tahe.developpez.com/web/php/mvc/
mais sache qu'il n'y a pas une seule bonne façon de faire. La meilleure façon c'est encore celle qui te conviens et qui réponds parfaitement au besoin à exprimer.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/12/2011, 13h58   #9
Membre régulier
 
Étudiant
Inscription : octobre 2010
Messages : 92
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 92
Points : 78
Points : 78
Merci pour tes réponses, je vais regarder attentivement cette solution.
zeclad01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h34.


 
 
 
 
Partenaires

Hébergement Web