Aller au contenu

Fabrice11

Actif
  • Compteur de contenus

    12
  • Inscrit(e) le

  • Dernière visite

Messages postés par Fabrice11

  1. bonjour,

    Je ne savais que l'on pouvais un mail directement à partir d'une balise FORM.

    Apparemment, il t'envois tous les champs de ton formulaire.

    Si tu veux bien formater ce mail, tu es obligé d'utiliser une page intermédiaire en PHP (par exemple).

    Tu listes toutes tes variables postées ( foreach de $HTTP_POST_VARS).

    Tu stockes les données dans une variable et ensuite tu peux l'envoyer avec la fonction mail() de PHP.

  2. Bonjour,

    Je suis en train de créer une application en PHP qui génére à la volée un flux RSS.

    Mon problème est le suivant : toutes les balises se trouvent sur la première ligne.

    Comment formater son texte pour avoir un fichier source propre comme celui-ci:

    <?xml version="1.0" encoding="iso-8859-1" ?>
    <rss version="2.0">
    <channel>
    <title>Prestations de service</title>
    <description>Les offres et demandes sur le Hub</description>
    <link>http://www.webmaster-hub.com/index.php</link>
    <pubDate>Wed, 10 Jan 2007 15:24:34 +0100</pubDate>
    <ttl>10</ttl>
    <item>

    et non pas comme çà :

    <?xml version="1.0" encoding="iso-8859-1" ?><rss version="2.0"><channel><title>Prestations de service</title><description>Les offres et </description><ink>http://www.webmaster-hub.com/index.php</link><pubDate>Wed, 10 Jan 2007 15:24:34 +0100</pubDate><ttl>10</ttl><item>

    Merci de votre aide

    Ps: je suis désolé si j'ai posté dans une mauvaise rubrique

  3. Alors il te met aucune page car il n'arrive pas à associer une règle à 'url demandé.

    Ta règle ne doit pas être bonne finalement :P .

    Je te donne une règle utilisée dans un de mes projets:

    RewriteRule ^discussion-(.+)-([0-9]+)-([0-9]+).html$  index.php?visu=listingTopic&id_topic=$2&page=$3 [L]

    Cependant les chiffres sont à la fin de l'URL et pas au milieu.

  4. Le navigateur continue d'afficher des URLs du type showvideo.php?idv=123321&titre=AbCDefG

    Bonjour,

    ta règle est correcte. Cependant, je crois que tu n'as pas compris comment fonctionne l'URL rewrite. :blush:

    L'url Rewrite de transforme pas tes liens PHP en HTML mais l'inverse !!

    Dans ton site, développé surement en PHP, il faut mettre des liens en HTML de type :

    <a href="showvideo-123-abc.html">Video</a>

    Ensuite lorsque ton serveur reçoit l'url ci-dessus, il la transforme en PHP de type showvideo.php?idv=123321&titre=AbCDefG si il trouve une règle correspondante dans le .htaccess

    Bonne journée

  5. * Quelqu'un a t'il déjà mis en place une solution de paiement sécurisé sur un hébergement mutualisé chez OVH ? Existe il des contraintes comme cela semble être le cas ailleurs (je ne comprends d'ailleurs pas pourquoi étant donné qu'on dialogue avec un serveur sécurisé distant via un script PHP, je ne vous pas où se situe le débat entre hébergement mutualisé ou dédié) ?

    Pour la solution de la société générale ou du crédit agricole, le dialogue avec le serveur sécurisé ne se fait pas par PHP mais par script PHP et CGI. Donc si ton hébergement mutualisé interdit l'éxécution de script CGI, tu ne pourras pas lancer ta procédure de paiement.

    Maintenant je ne sais pas si OVH permet l'éxécution de ce type script.

  6. Bonjour,

    j'ai trouvé sur le net une fonction qui retaille les images en PHP.

    En fait, tu donne le chemin de l'image et il te crée une autre image aux dimensions choisies dans un répertoire.

    La fonction:


    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /*
    * Fonction qui crée un thumnail avec les coin ronds et un effet sur l'image lors d'un rollOver
    * _AT_param img_src : STRING (Chemin vers l'image cible [OBLIGATOIRE])
    * _AT_param w_thumb : STRING (largeur de la thumbnail désiré [OBLIGATOIRE])
    * _AT_param h_thumb : STRING (hauteur de la thumbnail désiré [OBLIGATOIRE](POSSIBILITÉ DE METTRE 0 COMME VALEUR, DANS CE CAS UN REDIMENSIONNEMENT PROPORTIONNELLE EST EFFECTUÉ))
    * _AT_param border : STRING ( Épaisseur de la bordure de l'effet over [OPTIONNEL][DEFAULT:10])
    * _AT_param radial : STRING (Rayon utilisé pour créer les coins ronds [OPTIONNEL][DEFAULT:10](Un rayon de 0 équivaut a aucun coin rond))
    * _AT_param alpha : STRING ( Détermine le niveau de transparence de l'effet Over [OPTIONNEL][DEFAULT:50](100 aucune transparence / 0 transparence complète))
    * _AT_return : Renvoi un thumnail avec les coin ronds et un effet sur l'image lors d'un rollOver
    */
    function createThumbWithOver($img_src,$w_thumb,$type='gif',$h_thumb=0,$border=0,$radial=0,$alpha=0)
    {
    /*
    <img <?php echo createThumbWithOver('bleutree.jpg',400,100,10,0,50); ?> style="cursor:pointer;" />
    */
    $pic['destOver']['name'] = md5($img_src.$w_thumb.$h_thumb.$border.$radial.$alpha.'over'); // nom du fichier over
    $pic['destNormal']['name'] = md5($img_src.$w_thumb.$h_thumb.$border.$radial.$alpha); // nom du fichier normal

    $makePic = false; // variable pour vérifcation is on cré les images ou non
    // Routine pour vérifier si le fichier cache existe et si il est plus vieux que l'image d'origine
    if(file_exists("./temp/".$pic['destNormal']['name'].'.gif') === true )
    { // si le fihcier existe ?
    if(intval(filemtime($img_src)) > intval(filemtime("./temp/".$pic['destNormal']['name'].'.'.$type)))
    { // si le fichier cache est plsu vieux que le fichier source
    $makePic = true; // fichier source est plus récent donc il faut recréer les images
    }
    else
    {
    $makePic = false; // le fichier sourve est plsu vieux que le fichier cache donc on ne le recré pas
    }
    }
    else
    {
    $makePic = true; // si le fihcier cache n'existe pas il faut le créer
    }

    // Vérification de la variable , piour savoIr si on cré les images
    if($makePic === true && file_exists($img_src))
    {
    // Récupération des infos de l'image source
    list($pic['src']['info']['width'], $pic['src']['info']['height'], $pic['src']['info']['type'], $pic['src']['info']['attr']) = getimagesize($img_src);

    //On vérifie si le parametre de la hauteur est plsu grand que 0
    if($h_thumb == 0)
    { // si egal a zaro on affecte la hauteur proportionnellement
    $h_thumb = floor($pic['src']['info']['height'] * $w_thumb / $pic['src']['info']['width']);
    }
    switch($pic['src']['info']['type'])
    {
    case"1": $pic['src']['ress'] = imagecreatefromgif($img_src); break; // Création de l'image pour une source gif
    case"2": $pic['src']['ress'] = imagecreatefromjpeg($img_src); break; // Création de l'image pour une source jpg
    case"3": $pic['src']['ress'] = imagecreatefrompng($img_src); break; // Création de l'image pour une source png
    }

    $pic['destNormal']['ress'] = imagecreatetruecolor($w_thumb, $h_thumb); // On crée la miniature vide pour l'image Etat Normal
    $pic['destOver']['ress'] = imagecreatetruecolor($w_thumb, $h_thumb); // On crée la miniature vide pour l'image Etat Over

    // On crée la miniature Normal
    imagecopyresampled($pic['destNormal']['ress'], $pic['src']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $pic['src']['info']['width'], $pic['src']['info']['height']);
    // On crée la miniature Over
    imagecopyresampled($pic['destOver']['ress'], $pic['src']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $pic['src']['info']['width'], $pic['src']['info']['height']);

    // On commence à créer le masque pour le contour coin rond
    $pic['maskBorder']['ress'] = imagecreate($w_thumb, $h_thumb); // On crée le mask vide
    $pic['maskBorder']['green'] = imagecolorallocate($pic['maskBorder']['ress'], 0, 255, 0); // affectation de la couleur verte
    $pic['maskBorder']['pink'] = imagecolorallocate($pic['maskBorder']['ress'], 255, 0, 255); // affectation de la couleur rose
    // Ici on trace la zone à mettre en transparence avant le merge entre les 2 images
    // PRINCIPE : 4 cercle situé dans chauque coin avec un rayon de 2 fois la bordure
    // PRINCIPE : 1 forme polygonale de 8 coter pour peindre de rose la zone restante
    imagefilledellipse($pic['maskBorder']['ress'], $radial, $radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle gauche supérieur
    imagefilledellipse($pic['maskBorder']['ress'], $w_thumb-$radial, $radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle droite supérieur
    imagefilledellipse($pic['maskBorder']['ress'], $radial, $h_thumb-$radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle gauche inférieur
    imagefilledellipse($pic['maskBorder']['ress'], $w_thumb-$radial, $h_thumb-$radial, $radial*2, $radial*2, $pic['maskBorder']['pink']); // cercle droit inférieur
    imagefilledpolygon ($pic['maskBorder']['ress'], array($radial,0,0,$radial,0,$h_thumb-$radial,$radial,$h_thumb,$w_thumb-$radial,$h_thumb,$w_thumb,$h_thumb-$radial,$w_thumb,$radial,$w_thumb-$radial,0), 8, $pic['maskBorder']['pink']); // forme géométrique à 8 coter
    imagecolortransparent($pic['maskBorder']['ress'], $pic['maskBorder']['pink']); // Applique la transparence à la couleur rose

    // On commence à créer le masque pour l'image over
    $pic['maskOver']['ress'] = imagecreate($w_thumb, $h_thumb); // On crée le mask vide
    $pic['maskOver']['white'] = imagecolorallocate($pic['maskOver']['ress'], 255, 255, 255); // On definis la couleur blanche
    $pic['maskOver']['pink'] = imagecolorallocate($pic['maskOver']['ress'], 0, 255, 0); // On definis la couleur blanche qui sera utilisé comme couleur de transparence
    // Ici on trace la zone à mettre en transparence avant le merge entre les 2 images
    // PRINCIPE : 4 cercle situé dans chauque coin avec un rayon de 2 fois la bordure
    // PRINCIPE : 1 forme polygonale de 8 coter pour peindre de rose la zone restante
    imagefilledellipse($pic['maskOver']['ress'] , $border+$radial, $border+$radial, $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle gauche supérieur
    imagefilledellipse($pic['maskOver']['ress'] , $w_thumb-($border+$radial), $border+$radial, $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle droite supérieur
    imagefilledellipse($pic['maskOver']['ress'] , $border+$radial, $h_thumb-($border+$radial), $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle gauche inférieur
    imagefilledellipse($pic['maskOver']['ress'] , $w_thumb-($border+$radial), $h_thumb-($border+$radial), $radial*2, $radial*2, $pic['maskOver']['pink']); // cercle droit inférieur
    imagefilledpolygon ($pic['maskOver']['ress'] , array($border+$radial,$border,$border,$border+$radial,$border,$h_thumb-($border+$radial),$border+$radial,$h_thumb-$border,$w_thumb-($border+$radial),$h_thumb-$border,$w_thumb-$border,$h_thumb-($border+$radial),$w_thumb-$border,$border+$radial,$w_thumb-($border+$radial),$border), 8, $pic['maskOver']['pink']); // forme géométrique à 8 coter
    imagecolortransparent($pic['maskOver']['ress'] , $pic['maskOver']['pink']); // Applique la transparence à la couleur rose

    // TRAITEMENT SUR L'IMAGE NORMAL
    imagecopymerge($pic['destNormal']['ress'], $pic['maskBorder']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, 100); // copie du masque au dessus de la miniature avec une transparence (0%)
    // il faut enlever le vert pour que le fond soit transparent
    if($radial > 0)
    { // si le radial est de 0 alors ne pas appliquer la transparence parce que le pixel 0,0 n'est pas vert ce qui entraine une transparence sur les zones qui on la meme couleur que le pixel 0,0
    imagetruecolortopalette($pic['destNormal']['ress'], FALSE, 256); // conversion en palette 256 couleur
    $pic['destNormal']['green'] = imagecolorat($pic['destNormal']['ress'], 0, 0); // affectation de la couleur verte (récupérer au pixel 0,0)
    imagecolortransparent($pic['destNormal']['ress'], $pic['destNormal']['green']); // Applique la transparence à la couleur verte
    }
    // On enregistre la miniature avec bordure coin rond
    if ($type=='gif') {
    imagegif($pic['destNormal']['ress'],"./temp/".$pic['destNormal']['name'].'.'.$type);
    }
    else {
    imagepng($pic['destNormal']['ress'],"./temp/".$pic['destNormal']['name'].'.'.$type);
    }

    imagedestroy($pic['destNormal']['ress']);

    // TRAITEMENT SUR L'IMAGE OVER
    imagecopymerge($pic['destOver']['ress'], $pic['maskOver']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, $alpha); // copie du masque au dessus de la miniature avec une transparence ($alpha)
    // Merge du masque du contour
    imagecopymerge($pic['destOver']['ress'], $pic['maskBorder']['ress'], 0, 0, 0, 0, $w_thumb, $h_thumb, 100); // copie du masque au dessus de la miniature avec une transparence ($alpha)
    // il faut enlever le vert pour que le fond soit transparent
    if($radial > 0)
    { // si le radial est de 0 alors ne pas appliquer la transparence parce que le pixel 0,0 n'est pas vert ce qui entraine une transparence sur les zones qui on la meme couleur que le pixel 0,0
    imagetruecolortopalette($pic['destOver']['ress'], FALSE, 256); // conversion en palette 256 couleur
    $pic['destOver']['green'] = imagecolorat($pic['destOver']['ress'], 0, 0); // affectation de la couleur verte (récupérer au pixel 0,0)
    imagecolortransparent($pic['destOver']['ress'], $pic['destOver']['green'] ); // Applique la transparence à la couleur verte
    }
    // On enregistre la miniature over
    if ($type=='gif') {
    imagegif($pic['destOver']['ress'],"./temp/".$pic['destOver']['name'].'.'.$type);
    }
    else {
    imagepng($pic['destOver']['ress'],"./temp/".$pic['destOver']['name'].'.'.$type);
    }
    imagedestroy($pic['destOver']['ress']);
    }
    // Retourne les le code html / javascript pour afficher l'image et effectuer le rollOver / rollOut
    return 'src="./temp/'.$pic['destNormal']['name'].'.'.$type.'" onMouseOver="this.src=\'./temp/'.$pic['destOver']['name'].'.'.$type.'\'" onMouseOut="this.src=\'./temp/'.$pic['destNormal']['name'].'.'.$type.'\'"';
    }

    L'utilisation:

    <img <?php echo createThumbWithOver('toto.jpg',120,'gif');?> border="0" align="absmiddle">

    Voilà, bonne journée

  7. Bonjour,

    j'ai eu le même problème avec une aplication et j'ai trouvé une solution.

    En effet lorsque le javascript appelle un fichier PHP en Ajax, la sortie est mal encodé.

    La solution est de convertir cette sortie.

    Exemple de fichier PHP appelé par XmlHttpRequest:

    /*
    BUFFERISATION DE SORTIE:
    Je buffeurise la sortie pour éviter le problème d'encodage
    */
    ob_start();

    /* SCRIPT EN PHP ....... */

    /*ON STOPPE LA BUFFERISATION DE SORTIE*/
    $buffer = ob_get_clean();

    /*ON CONVERTIE LA SORTIE*/
    $buffer = mb_convert_encoding($buffer,"UTF-8", "auto");

    /*ON AFFICHE LA SORTIE*/
    echo $buffer;

    Voilà, bonne journée

  8. Bonjour à tous,

    je suis un développeur Web basé sur Montpellier. Je développe depuis 24 mois.

    J'utilise le PHP, Mysql, HTML, javascript, Ajax...

    J'espère pouvoir apporter ma contribution à ce forum.

    Bonne fêtes :-)

×
×
  • Créer...