LupusMic

  • Signature
    Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    1 684
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Gourou

Ses derniers messages sur les forums

LupusMic
le 26/05/2014 à 10:19
Problèmes avec des ''
Regard ela coloration syntaxique du code que tu nous donnes, et regardes celui-ci :

<?php printf ('<ul><li><a href="%s" target="_blank">%s</a></li></ul>',$row["url"], $row["news"]);


Tu as un anti-slash en trop.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 23/05/2014 à 15:47
Problème pour afficher image avec texte en dessous
> Pourquoi ne dois-je pas fermer le code avec

Parce que c'est inutile, ce qui est inutile est potentiellement une source de bogues.

J'ai fait une erreur en corrigeant ton code. Sur la ligne 11, il y a un chevron > en trop. Ceci dit, il doit rester des problèmes : fais attention à bien distinguer les quotes/doublequotes qui délimitent des chaînes en PHP, et les paires qui délimitent des attributs en HTML.

Peut-être que tu devrais écrire une fonction qui simplifie les choses:

<?php
function make_tag($name, $attributes = array(), $nested = null)
{
$outpur = '';
//IMPLEMENT

return $output;
}

// Use case:
echo make_tag('a', array('href' => 'http://example.com'), 'Example'));


Ce qui donnerait :
<a hreaf='http://example.com'>Example</a>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 23/05/2014 à 12:07
Problème pour afficher image avec texte en dessous
1. ton script est vulnérable à du XSS. Quand tu créés un document HTML, il faut que tu encode correctement les éléments que tu y insères :

<?php htmlentities($Lettre, ENT_NOQUOTES, 'UTF-8');


Lis attentivement la documentation de cette fonction pour comprendre son fonctionnement. Surtout ENT_QUOTES, ENT_NOQUOTES, qui sont des valeurs importantes dès lors que tu insères des données dans des attributs HTML.

2. Ne ferme pas ta section de code avec ?>. Le 'php' dans la ligne 21 est d'ailleurs en trop.

3. N'utilises pas echo et la concaténation de chaînes, ça rend les choses illisibles.

<?php

while ($val = mysql_fetch_array($result)): /* affiche une entrée */ ?>

<align=left><a href='Acteurs.php?page="<?php
echo htmlentities($val["Nom_Acteur"], ENT_QUOTES, 'UTF-8');
?>"><img style="margin:0px 15px 5px 0px;padding:3px;border:1px solid white;" src="http://www.planet-80.com/image/Acteurs/Miniatures Acteurs/<?php
echo htmlentities($val["Miniature_Alpha_Acteur"], ENT_QUOTES, 'UTF-8');
?>" title="<?php
echo htmlentities($val["Prenom_Acteur"], ENT_QUOTES, 'UTF-8');
?>">&nbsp;<?php
echo htmlentities($val["Nom_Acteur"], ENT_QUOTES, 'UTF-8');
?>">&nbsp;

<?php endwhile;


Voilà, avec ça, tu devrais déjà y voir plus clair et savoir où placer ce que tu souhaites.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/05/2014 à 11:42
Inserer une image dans les news ?
Ouais, magique, CKEditor, et il n'y aurait rien à faire?

Bon, pour le problème original, essaye de commencer simple. Ajoute un champ HTML input de type file (n'oublie pas de définir l'attribut enctype de l'élément form). Ajoutes la gestion de l'image côté serveur lors de l'envoie du formulaire, et affiche l'image dans ta news.

Ensuite, on passera à l'étape suivante si tu veux ajouter plus d'une image, voire les placer dans la news.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/05/2014 à 11:38
Conversions de caractères en entités HTML
Est-ce que tu indiques à ta connexion avec MySQL que tu veux parler en UTF-8?

<?php $db->set_charset('UTF8');
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/05/2014 à 11:37
functions caracteres
Réponse courte : ne fais pas ça, c'est inutile et introduit des erreurs.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/05/2014 à 11:34
Sujet dans la barre d'adresse
Il y a plusieurs techniques possible.

Ici La Globule utilises de l'URL Rewrinting. C'est à dire qu'il indique au serveur Web (Apache) qu'il doit réécrire l'URL et appeler une page spécifique.

Je pense qu'il transforme http://www.lephpfacile.com/forum/1-php-mysql/7642-sujet-dans-la-barre-d-adresse en http://www.lephpfacile.com/forum.php?id=1&sujet_id=7642
La transformation peut s'oppérer directement dans Apache, en utilisant l'expression régulière (regex) qui va bien, ou tout rediriger vers une page index.php qui sera le maître absolu, qui découpera la request URI et appellera les routines spécifiques.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 12/05/2014 à 16:28
creation d un bbcode [code]
Petit up après 40 min? Tu te foutrais pas un peu de nous ?

Bref, je ne vois pas comment $1 pourrait être un nom de variable valide en PHP.
Il faut que tu revois ta logique. Peut-être que tu devrais regarder du côté de preg_replace_callback.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 07/05/2014 à 13:28
Espace membre, question de compréhension [debutant]
En fait, c'est ton boulot de faire cette sélection.

La notion qu'il faut que tu comprennes, c'est la notion de session. Quand tu identifie un utilisateur avec son couple identifiant/mot de passe, tu conserve en session son identifiant.

Par exemple, tu exécute la requête suivante :
sql
select id from membre where user = 'toto' and password='tamere'


Et récupère l'identifiant 'id' que tu sauvegarde en session:
php
<?php $_SESSION['membre.id'] = $query_rows[0]['id'];


PHP va écrire le tableau spécial $_SESSION quelque part (généralement un fichier), et y associer un cookie. Lorsque l'utilisateur viendra à nouveau sur le site, pour peu que le cookie n'ait pas expiré, PHP va recharger la session associée à l'identifiant contenu dans le cookie, et le mettre à disposition du script.

Du coup, tu pourras construire ta requête à partir de cette information :
<?php
$sql = sprintf('select * from equipe where membre_id = %s', $db->real_escape_string($_SESSION['membre.id']);


Le plus dur à comprendre dans l'affaire, c'est que toutes ces opérations se font de manière indépendantes, découplées. La session est là pour faire le lien et conserver l'état de la session utilisateur entre deux requêtes HTTP.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours