Combinaison HTML/PHP

Répondre
papouche
le 07/08/2009 à 10:26
papouche
Bonjour,
j'utilise le script de la globule ( Messagerie interne) et Je voudrais mettre en rouge les messages d'erreur.
La ligne suivante génère le message:
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

Et la ligne qui affiche le message est :
elseif ($nb == 0) {
'<font color="red">'.$erreur = 'Compte non reconnu.'.'</font>';

Je n'ai aucune erreur et le message s'affiche... mais pas en rouge!
Je pense que ma synthaxe n'est pas très au point...
Comment devrais-je écrire la ligne de code?
Merci de m'aider.
LupusMic
le 07/08/2009 à 21:07
LupusMic
'<font color="red">'.$erreur = 'Compte non reconnu.'.'</font>';


Le code que tu as fait s'interprète ainsi :
* chaîne '</font>'
* chaîne 'Compte non reconnu.'
* concatène '</font>' à 'Compte non reconnu.'
* assigne le résultat de la concaténation à la variable erreur.
* chaîne '<font color="red">'
* chaîne copiée depuis la variable erreur.
* concaténer la copie du contenu à la chaîne '<font color="red">'.
* libérer la chaîne concaténée précédemment.

Si tu comprends ça, tu devrais être capable de corriger ton problème, et tu comprends alors pourquoi '<font color="red">' ne s'affiche pas.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
papouche
le 08/08/2009 à 08:29
papouche
Multumesc!
Je pense avoir compris ce que tu me suggère.
La concaténation doit se faire sûrement ailleurs ... notamment
à la ligne qui affiche le message (avec echo !)
Merci pour ton coup de main.
moogli
le 10/08/2009 à 09:46
moogli
Yop,

ce que lupus essai de te dire c'est que ta syntaxe n'est pas "correcte" pour ce que tu veux faire.
le code d'origine est, je suppose, celui ci
php
<?php
elseif ($nb == 0) {
$erreur = 'Compte non reconnu.';
}
else {
}
?>


la variable $erreur contient le message d'erreur qui est affiché à la fin du fichier index.php et c'est la, à l'affichage qu'il te faut faire la mise en forme.

donc a l'affichage un <span class="erreur"> plus la css qui va bien est la solution propre à ton problème.

la réflexion de lupus te permet de comprendre comment php interprète ce que tu lui refourgue comme code ;)

@+
Il en faut peu pour être heureux !!!!!
papouche
le 10/08/2009 à 11:45
papouche
C'est cela.
J'ai mis les balises <Font color..
à la ligne plus bas ( echo ...)et cela fonctionne.
Merci pour ton intervention!
PS:
Je risque d'avoir besoin d'aide pour modifier la page membre.php du script de la globule (Messagerie interne).
En effet, j'aimerais pouvoir envoyer des messages à plusieurs personnes à la fois et faisant partie de catégories differentes...!
moogli
le 10/08/2009 à 18:30
moogli
pas de quoi.

Pour ce qui est de catégorie faut voir si c'est des catégories du style groupe sur un forum (genre ML admin, ML newbee etc) ou plus tôt une sorte de recherche et ajout des membre dans l'envoi dans le style de phpbb (envoie de MP multiple).

Y a plein de possibilitée, écrit et essai de faire ce que souhaite et si tu a des soucis créer un nouveau post ;)

@+
Il en faut peu pour être heureux !!!!!
papouche
le 10/08/2009 à 21:08
papouche
L'idée c'est d'envoyer le message de façon sélective.
Par exemple, je propose des cases à cocher (catégories)et seules les personnes concernées recevront ce message.
Je travaille en ce moment sur les cases à cocher,j'ai trouvé un exemple de script qui fonctionne seul mais qui m'affiche ce message l'orsque je l'intègre à ma page.
Voici le code:
<form action="envoyer.php" method="post">
<input type="hidden" name="envoi" value="yes">

<input type="checkbox" name="options[]" value="Poussin">&nbsp;Poussins<br>
<input type="checkbox" name="options[]" value="Pupilles">&nbsp;Pupilles<br>
<input type="checkbox" name="options[]" value="Benjamins">&nbsp;Benjamins<br>
<input type="checkbox" name="options[]" value="Minimes">&nbsp;Minimes<br>
<input type="checkbox" name="options[]" value="Cadets ">&nbsp;Cadets <br>

<!-- <input type="checkbox" name="options[]" value="Injection au méthane">&nbsp;Injection au méthane<br>-->
<center><input type="submit" name="box" value="Dispatcher"></center>
</form>

<?php
if (isset($_POST['box']) && $_POST['box'] == 'Dispatcher') {
if (empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Vous avez omis au moins un champs.';
}
else {
$envoi = $_GET['envoi']; //aiguilleur
//$voiture = $_GET['voiture']; //Nom de la voiture
$options = $_GET['options']; //Contenu des cases à cocher

$options_text = implode(', ',$options);
echo '<h4>Les cases cochées sont :</h4>';
echo '<p>Catégorie(s):<br><br>'.$options_text.'</p>';
} }?>

Le message d'erreur:
Warning: implode() [function.implode]: Invalid arguments passed in D:\vhosts\XX.x\xxx\xxx\xxx\envoyer.php on line 137

Les cases cochées sont :
Catégorie(s):

La ligne 137 étant
$options_text = implode(', ',$options);

Si tu peux m'aider... n'hésite pas
moogli
le 10/08/2009 à 21:16
moogli
$_GET['options'] n'existe pas mais $_POST['options'] oui :)

donc pour ce que tu veut faire, les case a cocher c'est bien.
Perso, dans un but d'évolutivitée de la chose, j'aurais fait une table Mysql "categories" qui contient poussins, pupilles etc. plutôt qu'une case a cocher j'aurais utiliser une liste déroulante multiple (mais c'est pareil). et surtout l'affichage des catégories en fonction de la table ;)

ensuite pour l'envoie, tu modifie la table des utilisateurs pour appartenir a une catégorie.
Pour l'envoie tu commences par récupérer les "id" de tout les joueurs qui sont dans les catégories sélectionnées et tu créer ta requête d'envois a partir de ça ;)

Je sais que ça n'a pas l'air simple mais tu devrais y arriver, sinon y a toujours le forum ;)

@+
Il en faut peu pour être heureux !!!!!
papouche
le 10/08/2009 à 21:43
papouche
Merci pour ta réponse qui m'oriente vers une autre direction

J'ai déjà une table "adhérents" qui possède les catégories proposées calculées lors de l'inscription.
Comment récupérer un choix multiple par case à cocher en sachant qu'il faudra que je l'insère dans une requête SQL
?
En fait je veux garder le bouton "Envoyer" et la bande déroulante pour contacter un membre qui s'est inscrit et un autre bouton qui récupère le multi choix (Case à cocher) pour un autre type d'envoi ( Genre convocation à un tournoi)
je vais potasser un peu
@+
papouche
le 13/08/2009 à 18:03
papouche
Bonsoir, c'est encore moi!
Je galère,
j'ai rajouté le champs "catégorie" à la table "membre".
je n'arrive pas à récupérer les (valeurs (multiples) des cases cochées dans le fichier envoyer.php pour adresser des données dans la table "message" au personnes correspondant aux catégories cochées.
Merci de m'aider
Répondre
LoadingChargement en cours