form : fusion de 2 valeurs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : form : fusion de 2 valeurs

par Ajoloca » 16 janv. 2007, 13:53

@albat : quoi ? ca te parait pas plus simple comme ça ? :shock: ;)

@ajoloca : je ne connais pas bien php5, mais j'ose espérer qu'ils ont gardé une compatibilité avec la 4 :)
Quant au code, y aurait sans doute beaucoup de choses à améliorer, mais au point où on en était, c'était plus destiné à la boutade d'un truc lourd et long, qu'à un réel usage. Pis je voulais pas y passer trois heures non plus, d'autant que notre invité est parti content et avec sa solution des le 4ème message ;)


Edit : ah ben si flûte ! il est toujours là, pis ce qu'on dit à l'air de l'interesser en plus.. mince, va falloir que je fasse attention à ce que je raconte :)
Je l'avais bien pris dans ce sens (boutade).

Quant à la compatibilité entre l'objet 4 et 5 elle est supportée avec quelques wanings et bien sur on ne bénéficie pas des avantages réels de l'encapsulation des données (private, protected, etc...) et de toutes les autres améliorations apportées en V5 sur le modèle objet (très proche de celui de Java ou C++, plus de Java - il ne supporte pas l'héritage multiple)

par Ryle » 16 janv. 2007, 13:45

@albat : quoi ? ca te parait pas plus simple comme ça ? :shock: ;)

@ajoloca : je ne connais pas bien php5, mais j'ose espérer qu'ils ont gardé une compatibilité avec la 4 :)
Quant au code, y aurait sans doute beaucoup de choses à améliorer, mais au point où on en était, c'était plus destiné à la boutade d'un truc lourd et long, qu'à un réel usage. Pis je voulais pas y passer trois heures non plus, d'autant que notre invité est parti content et avec sa solution des le 4ème message ;)


Edit : ah ben si flûte ! il est toujours là, pis ce qu'on dit à l'air de l'interesser en plus.. mince, va falloir que je fasse attention à ce que je raconte :)

par Invité » 16 janv. 2007, 13:45

Je suis en php4 (debian stable).

Je parle pas parce que je ne m'y connais pas mais je suis le débat en recherchant après les termes que je ne connais pas (poo, ternaire etc.).

par Ajoloca » 16 janv. 2007, 13:27

Re,
@Ryle

Sais-tu s'il est en PHP 4 ou en PHP 5 ???

Aucun test dans les méthodes set ???

par albat » 16 janv. 2007, 12:55

Avec tes exploits, on va avoir du mal à expliquer
que la POO permet de simplifier les développements... :evil:

par Ryle » 16 janv. 2007, 12:53

Je pense que c'est vraiment prématuré.
ah...... donc ça je lui en parle pas non plus ? :roll: ;)
class Copain {
  var $nom;
  var $prenom;

  function Copain($nom='', $prenom='') {
    $this->setNom($nom);
    $this->setPrenom($prenom);
  }
  function display() {
    return trim($this->getNom() . ' ' . $this->getPrenom());
  }
  function getNom() {
    return $this->nom;
  }
  function setNom($val) {
    $this->nom = $val;
  }
  function getPrenom($val) {
    $this->prenom = $val;
  }
  function setPrenom($val) {
    $this->prenom = $val;
  }
}
@albat : ouep pour la parenthèse :cry:

par Ajoloca » 16 janv. 2007, 12:40

//ou bien directement
$copain = ((isset($_POST['nom']) ? $_POST['nom'] : '') . ' ' . (isset($_POST['prenom']) ? $_POST['prenom'] : '');
Tu ne crois pas que tu lui compliques la vie (compréhension) ?
Je m'en voudrais d'ouvrir une polémique, mais...
c'est bien le code de Ryle qui a ma préférence. :lol: :-*

Opérateur ternaire powaaaaaaaaaaaaa ! :langue:
Je ne suis pas contre l'utilisation de l'opérateur ternaire, bien au contraire,
mais lui montrer un double quand pour ajouter un espace il fait
$copain=$_POST['nom'];
$copain.=" ";
$copain.=$_POST['prenom'];
Je pense que c'est vraiment prématuré.

par albat » 16 janv. 2007, 12:37

Ma suggestion finale :
$copain = trim((isset($_POST['nom']) ? $_POST['nom'] : '') . ' ' . (isset($_POST['prenom']) ? $_POST['prenom'] : ''));
PS : Ryle, il me semble bien que tu avais une ( ouvrante en surnombre. :-k

par albat » 16 janv. 2007, 12:36

//ou bien directement
$copain = ((isset($_POST['nom']) ? $_POST['nom'] : '') . ' ' . (isset($_POST['prenom']) ? $_POST['prenom'] : '');
Tu ne crois pas que tu lui compliques la vie (compréhension) ?
Je m'en voudrais d'ouvrir une polémique, mais...
c'est bien le code de Ryle qui a ma préférence. :lol: :-*

Opérateur ternaire powaaaaaaaaaaaaa ! :langue:

par Ryle » 16 janv. 2007, 11:58

Si c'est sur... c'est plus compliqué. Mais ça peut aussi ouvrir sa curiosité vers l'opérateur ternaire (voir la FAQ), la sienne ou celle de quelqu'un qui tomberait sur ce sujet d'ailleurs :)

Sinon pour le isSet en trop, c'est ce qu'en langage technique on qualifie communément de "boulette" :oops: ;)
(je vais corriger, sait-on jamais)

par Ajoloca » 16 janv. 2007, 11:51

Re,
//ou bien directement
$copain = ((isset($_POST['nom']) ? $_POST['nom'] : '') . ' ' . (isset($_POST['prenom']) ? isset($_POST['prenom'] : '');
Tu ne crois pas que tu lui compliques la vie (compréhension) ?
EDIT :

Une petite erreur
(isset($_POST['prenom']) ? isset($_POST['prenom'] : ''); 
devrait être
(isset($_POST['prenom']) ? $_POST['prenom'] : '');

par Ryle » 16 janv. 2007, 11:48

On peut aussi le faire comme ça, pour quand même récupérer une valeur si l'un des deux champs n'a pas été renseigné :
$nom = isset($_POST['nom']) ? $_POST['nom'] : '';
$prenom = isset($_POST['prenom']) ? $_POST['prenom'] : '';
$copain = trim($nom . ' ' . $prenom);

//ou bien directement
$copain = (isset($_POST['nom']) ? $_POST['nom'] : '') . ' ' . (isset($_POST['prenom']) ? $_POST['prenom'] : '');

Edit : correction du code : suppression des isSet en trop.
Edit 2 : correction du code : suppression de la "(" en trop

je suis un boulet, je suis un boulet, je suis un boulet, je suis un boulet, ... |*()

par Ajoloca » 16 janv. 2007, 11:41

Re,

Plus simple
if(isset($_POST['nom']) && isset($_POST['prenom'])) {
   $copain = $_POST['nom'] . ' ' . $_POST['prenom'];
}

par Invité » 16 janv. 2007, 11:37

Pour l'espace, j'ai mis un :
$nom.=" ";


entre les deux. Merci infiniment.

par Invité » 16 janv. 2007, 11:31

Je viens de modifier le code ET CA MARCHE !

Grand merci!