Ses derniers messages sur les forums
(iorienrager) C'est une idée excessivement mauvaise. L'accès concurrent au fichier risque de le rendre complètement incohérent.
(bj0212) As-tu besoin que les utilisateurs soient identifiés ?
En fait, même avec une base de données c'est tout simple. Pour être basique, sans identification, il te faut :
- l'affichage des derniers messages
- créer des fonctions d'insertion en base.
- un formulaire de saisie du message
Pour l'
exemple.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Les tutoriels n'ont bien souvent aucun intérêt fonctionnel. Afficher les variables soumises par l'utilisateur peut cependant avoir son intérêt (dans un but de confirmation de l'insertion des données par exemple.
Mais dans l'absolu, si le traitement des données soumises est fructueuse, il suffit de le dire. Bien sûr, pour que les informations puissent être rémanente, il faut stocker les données quelque part. il y a de nombreuses solutions, la plus classique étant de sauvegarder les données dans une base de données.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Tu as des fonctions telles que substr qui te permettent de substituer des caractères.
Mais c'est dans quel but ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
C'est vaste comme sujet.
Tout d'abord, quels sont les critères employés pour que ton courriel soit considéré comme étant du spam ?
Ensuite il faut que tu vérifie que tes IP du client et du serveur mail n'est pas listée comme spamer, je t'invite à chercher le web pour plus d'information.
Et enfin, il faut voir si PHP n'insère pas des entêtes qui identifie PHP. Il se peut que le filtre anti-spam considère ça comme un gros indice de Spam.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ben le code que je t'ai proposé est très simple. Donc si tu ne comprends pas, pose des questions. Quand à la requête que tu as trouvé, c'est vrai qu'elle peut être sympa. pour l'exploiter il faut que tu utilises
explode pour casser le résultat.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Tu peux t'inspirer de ça :
<?php
$db = new mysqli(...) ;
$sql =
'select c.nom as nom
, c.prenom as prenom
, s.nom as societe
from contacts as c
join societes as s
on c.societe_id = s.id
order by societe, nom, prenom
' ;
$contacts = array() ;
$res = $db->query($sql) ;
if($res instanceof mysqli_result)
{
while($row = $res->fetch_assoc())
$contacts[] = $row ;
}
else
{
/* erreur à traiter */
}
$societe = null ;
echo "<table>\n" ;
foreach($contacts as $idx => $contact)
{
if($societe !== $contact['societe'])
{
echo "<tr>\n" ;
$societe = $contact['societe'] ;
echo "\t\t<td colspan='3'>".htmlentities($societe)."</td>" ;
echo "\t</tr>\n" ;
}
else
{
echo "<tr>\n" ;
$nom = $contact['nom'] ;
$prenom = $contact['prenom'] ;
$tel = $contact['tel'] ;
echo "\t\t<td >".htmlentities($societe)."</td>\n" ;
echo "\t\t<td >".htmlentities($nom)."</td>\n" ;
echo "\t\t<td >".htmlentities($prenom)."</td>\n" ;
echo "\t</tr>\n" ;
}
}
echo "</table>\n" ;
Ce n'est pas testé, donc certainement des erreurs de syntaxe traînent par-ci par-là. Mais l'idée est là. N'hésites pas à poser des questions.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ok, en fait tu as des outils qui permettent de faire ça automatiquement.
Tel que l'incontournable
doxygen.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
En fait je me demandais si tu ne pouvais pas placer une imagemap transparente par dessus les div. Comme ça c'est le imagemap qui prend en premier le click.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Dans quel but ? Quel contexte ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ok je comprends mieux. Et les div vont bouger ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.