[Debut.] if (cond.1 && cond.2){fait....

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 : [Debut.] if (cond.1 && cond.2){fait....

par Cyrano » 30 juil. 2005, 19:55

J'en ai marre de ce truc...
La patience est une vertu fort utile en programmation, en particulier en phase de débuggage: On peut parfois devoir contourner le problème pour ne pas s'éterniser, mais dans ce cas précis, il serait à mon avis plus iportant que tu saisisses correctement la nature du bobo.

Par exemple, rami soulève le problème des parenthèses surnuméraires : je vais te dire comment je fais personnellement. Quand j'ouvre une parenthèse, je la referme immédiatement, et après seulement j'y insère du contenu. Même chose pour les accolades. Enfin, une indentation systématique du code et c'est la moitié du temps de débuggage qui disparait et que je peux consacrer à autre chose.

par marc_3 » 30 juil. 2005, 19:48

J'en ai marre de ce truc je vais utilise une autre methode pour savoir si le string contien autre chose que des caracteres blancs.

Ce qui veut dire que je laisse tombe ce sujet pour en ouvrir un autre pour connaitre l'encodage du caractere vide "espace entre deux mots

A tous de suite dans question suivantes

Merci pour la peine

Marc_3

par marc_3 » 30 juil. 2005, 17:17

Ben non c'est pas sa non plus, (mes parentheses etaient juste non?)

par rami » 30 juil. 2005, 17:13

Essaies ca:
elseif ((isset($_POST["btn_Speich"]) && ($testKor==0) && !empty(trim($_POST["q1"]))){
...
elseif ((isset($_POST["btn_Speich"]) && ($testKor==0)  ){



Y'avait trop de parenthèses fermantes et des quotes inutiles dans les arguments de trim() ;)

par marc_3 » 30 juil. 2005, 17:08

Sa c'est le message d'erreur

Parse error: parse error, expecting `T_VARIABLE' or `'$'' in c:\program files\easyphp1-8\www\cible\cible zu schicken\form_autor.php on line 179
Et ici le code

Code : Tout sélectionner

elseif ((isset($_POST["btn_Speich"] )) && ($testKor==0) && (!empty(trim('$_POST["q1"]'))) ){
J'ai essaye de controle et je ne trouve pas d'erreur avec ce fragment
qui est comme l'autre moin le empty.


Code : Tout sélectionner

elseif ((isset($_POST["btn_Speich"] )) && ($testKor==0) ){

par Cyrano » 30 juil. 2005, 16:53

Tu obtiens quoi à l'affichage ?

par marc_3 » 30 juil. 2005, 16:49

Pas de changement je sais pas trop ce qui se passe

par Cyrano » 30 juil. 2005, 15:28

Elève les points virgule dans des parenthèses:
elseif ((isset($_POST["btn_Speich"] )) && ($testKor==0) && (!empty(trim($_POST["q1"]))) )

par marc_3 » 30 juil. 2005, 14:14

En fait c'es plutot

Code : Tout sélectionner

elseif ((isset($_POST["btn_Speich"] )) && ($testKor==0) && (!empty(trim($_POST["q1"];);)) ){
avec comme message d'erreur
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in c:\program files\easyphp1-8\www\cible\cible zu schicken\form_autor.php on line 179
Comment faire?

par marc_3 » 30 juil. 2005, 13:46

Je dois bricoler un peu pour recuperer mon string et cela m'oblige a faire ce truc en debut de code.
Je pensai que mon editeur allait reconnaitre le mot cle trim mais pas de reaction. Je travaille avec php 4.3.01 et easy php

Code : Tout sélectionner

if (isset($_POST["q1"])){$strTest = $_POST["q1"];} else $strTest = ""; $strTest = trim($strTest); Avec ensuite if ((isset($_POST["btn_Speich"] )) && ($testKor == 1)&& (!empty($strTest))){..........
Auparavant j'ai essaye cette version mais j'nai pas non plus eu de reconnaissance du mot cle

Code : Tout sélectionner

if ((isset($_POST["btn_Speich"] )) && ($testKor == 1)&& trim((!empty($_POST["q1"])))){

par Cyrano » 30 juil. 2005, 13:09

Tu pourrais ajouter un détail lors de la récupéreation de ton champ texte : trim($_POST['q1']) : ça vire les espaces. Sinon, il suffit de mettre un simple espace dans le textarea pour faire croire qu'il y a un contenu.

par marc_3 » 30 juil. 2005, 13:08

Salut,

Oui je suis sence ne pas enregistrer une entree dans une BdD si le textarea "q1" est vide.

Je suis parti de l'idee que si q1 est vide alors empty retourne 1
mais si q1 n'est pas vide empty me retournera 0 donc je dois utilise encore une fois une negation et patatra ca marche pas comme ca apparement

par Cyrano » 30 juil. 2005, 12:47

Salut
syntaxiquement, la formulation est bonne, et veut dire qu'il faut que les trois conditions soient vérifiées : si l'une d'elle ne l'est pas, alors le elseif retourne false et on sort pour passer au test suivant.

As-tu un problème avec son fonctionnement ou un résultat inattendu ?

[Debut.] if (cond.1 && cond.2){fait....

par marc_3 » 30 juil. 2005, 12:37

Bonjour,

J'ai un petit soucis avec la syntax de ce fragment de code:

Code : Tout sélectionner

elseif ((isset($_POST["btn_Speich"] )) && ($testKor==0)&& (!empty($_POST["q1"]))){ include "dbContabAutor.php";
"q1" est un textarea qui me permet la saisie d'n string.

Si le string est vide je ne veux pas l'enregistrer.
Est-ce que la syntax !empty est valable dans ce cas en liaion avec les &&

D'avance merci

Marc_3