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 25/07/2008 à 13:39
Paiement en ligne
Non.

Et tu vas finir par énerver si tu insistes lourdement comme ça.

Chaque banque, chaque fournisseur de paiement en ligne a ces propres protocoles.
Sans compter que tu seras lié contractuellement.

Tu DOIS aller te renseigner auprès de ta banque (professionnelle). Ou alors tu décides d'utiliser un autre intermédiaire tel que Paypal ou Paybox. Quoiqu'il en soit, ils te fourniront l'API bancaire qu'il te faudra intégrer à ton site de vente en ligne.

Tu n'as pas le choix (sauf à prendre des risques en collectant les numéros de CB, mais alors je te souhaites d'être bien assuré, et que ton assureur est au courant).
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 23/07/2008 à 14:14
Confirm() sur un bouton submit : stopper l'execution si clic sur "annuler"
Ne cherche pas midi à quatorze heure !
<a href="./scripts/traitement.php?news&amp;effacer='<?php echo $id[$j] ; ?>"
title="Effacer cette entr&eacute;e"
onclick="return confirm('Effacer \'<?php echo $titre[$j] ?>\' ?') ;"
><img src="./img/ico/news_delete.png" alt="effacer" /></a>


Ceci dit, l'effacement d'une ressource via une requête $_GET est une très mauvaise idée, qu'il faut bannir. Il faut passer les action telles que la suppression, la modification et la création (bref les opérations d'écriture) via des variables HTTP POST. La raison en est que sinon le site est sensibles aux attaques du type XSS (cross site scripting). Un petit malin peu cacher un lien dans sa page, ou t'envoyer un lien piégé, qui permet d'effacer ce qu'il souhaite, sans que tu ne t'en rende compte.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 23/07/2008 à 00:12
Gotcha ! Tomorrow never dies.
Ah ben bravo ;)

Je ne pouvais pas me rendre compte que le timstamp changeait, puisqu'avant de l'afficher je le recalcule (dans mon constructeur), ce qui fait que je ne le voyais plus bouger.

Ce n'est qu'en cherchant le timestamp dans Google que je suis tombé sur un forum dans lequel on parlait du changement d'heure.

Je vomis désormais sur Benjamin Franklin, et je le vomirais tant que je penserais au changement d'heure.

Bref, j'ai remplacé :
<?php $aday = getdate($this->timestamp + 24 * 60 * 60) ; 
?>

par
<?php $aday = getdate(strtotime("tomorrow", $this->timestamp)) ; ?>


Mais par curiosité, qu'est-ce qui vous a mis sur la piste, toi et ton collègue ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 22/07/2008 à 21:21
Gotcha ! Tomorrow never dies.
Une fois n'est pas coutume dans le bar, voici le piège à con du mois :-D

Ayant raz la casquette de l'API merdique de PHP concernant le temps, j'ai décidé de me faire des classes propres, avec une interface cohérente et pratique.

Premier jet.

Comme on peut le constater, j'obtenais le lendemain en ajoutant 24 * 60 * 60 secondes.

Mais bizarrement, le 28 octobre 2007 était un jour sans fin...

Celui qui trouvera le pourquoi du comment en moins de deux heures aura mon éternelle admiration smiley
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 22/07/2008 à 20:28
Quel appareil ?
get-browser

Cependant, il faut faire attention. On peut facilement spoofer le useragent, et les fausses détections peuvent se révéler catastrophique.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/07/2008 à 21:10
Créer une fonction
Il faut que tu les passes en paramètre de la fonction. Vu que tu veux faire de l'objet, je vais te montrer un bout de code de mise en situation :
<?php
class table_news
{
protected $con ;
function __construct(MySQLi $con)
{
$this->con = $con ;
}

// Je te conseille de toujours citer explicitement les colones que
// tu affecte.
const SQL_ADD = "insert into news (titre, news) values ('%s', '%s')" ;
const SQL_DEL_ID = "delete from news where id=%d" ;
const SQL_UPD = "update news set titre='%s', news='%s' where id=%d" ;

function add($titre, $news)
{
return $this->con->query(sprintf(self::SQL_ADD, $titre, $news)) ;
}

function del($id)
{
return $this->con->query(sprintf(self::SQL_DEL_ID, $id)) ;
}

function upd($id, $titre, $news)
{
return $this->con->query(sprintf(self::SQL_UPD, $titre, $news, $id)) ;
}
}
?>


On peut faire autrement, c'est une question de goût, d'analyse, et de pertinence de la solution au problème.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 20/07/2008 à 05:49
Créer une fonction
Je pense que c'est un truc dans ce goût là que tu veux faire ?

<?php
class xxx
{
protected $news ;

public function clean()
{
$this->news = ltrim($this->news) ;
}
} // class xxx

?>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/07/2008 à 18:43
Classe FTP
Tu as demandé des critiques alors je critiques ;)

Mais si tu veux que la doc sois facilement extractible, je te conseille de te pencher sur doxygen, qui permet de générer la documentation à partir du code.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/07/2008 à 17:21
feuilles de calculs Excel
Mauvais hébergeur ? Changer d'hébergeur. Du moins, c'est ce que j'ai compris en travaillant pour un hébergeur français.

Merci pour la précision des version de MS Excel (tout le monde n'a pas MS Excel pour vérifier).
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/07/2008 à 17:18
Script colore
Arf, tu n'es pas tombé dans mon troll anti-MS :p Je ne mets jamais \r parce que les fichiers texte, ça finit par \n et pas \r\n, depuis des temps immémoriaux ;)

En relisant on peut encore racourcir :
<?php
printf("\t\t\t<td style=\"background-color: #%1\$X%2\$X%3\$X;\">#%1\$X%2\$X%3\$X</td>\n", $cell[0], $cell[1], $cell[2]);
?>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours