[PHP] pc function [MàJ]

pc function [MàJ] [PHP] - PHP - Programmation

Marsh Posté le 12-09-2003 à 14:19:24    

hello  :hello:  
 
Regarder plutot le pb exposer plus bas, celui là ça compte plus :D
 
voila, j'ai nun p'tit pb, je ne c pas si ça vient de là ou koi mais bon voila koi
 :whistle:  :whistle:  
 
bon plus erieusement, voila ma fonction :
 

Code :
  1. function verif($str) {
  2. if($action == 'modifier')
  3. return "$str";
  4. else
  5. return 'test';
  6. }


 
voila, c pour un formulaire, en gros si le forumlaire modifier une fiche de memebre, il affiche les données déja présente dans ces formulaires, ok ?
 
Donc je c pas comment vous ferierz vous, mais je pense qu'il est meiux de faire comme ça plutot que 2 pages, une pour seve et l'autre pour modif, parce que si je dosi modifier le code ou le design, ça m'en fait 2, et là 1...
bon je m'attarde pas la dessus, voila comment j'appel la fonction :

Code :
  1. value="<?php verif("$row[1]" ) ?>"


 
une idée ? parce que là, j'a rien qui s'affichye, bon ok j'ai rien dans la bdd elle est vide, mais il devrait m'afficher test alors que je n'ai rien...


Message édité par KdZ' le 13-09-2003 à 16:04:41
Reply

Marsh Posté le 12-09-2003 à 14:19:24   

Reply

Marsh Posté le 12-09-2003 à 14:21:26    

Faut faire un echo verif() [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 12-09-2003 à 14:23:16    

trop fort, merci mec ;)
 
je suis debutant...
 
bon voila, on c jamais ça peut servir pour d'autres
 

Code :
  1. value="<?php echo(verif("$row[1]" )); ?>"

Reply

Marsh Posté le 12-09-2003 à 14:43:02    

KdZ' a écrit :

trop fort, merci mec ;)
 
je suis debutant...
 
bon voila, on c jamais ça peut servir pour d'autres
 

Code :
  1. value="<?php echo(verif("$row[1]" )); ?>"




 
j'ai pas tout ton code, mais à priori $action sera toujours une chaine vide ;)
 
edit: donc elle ne sera jamais égale à 'modifier'


Message édité par dropsy le 12-09-2003 à 14:43:38
Reply

Marsh Posté le 12-09-2003 à 15:47:17    

mais si :o  la varaible $action est meme définie dnas l'url
enregistrement ou modification (d'une fiche) du formulaire...

Reply

Marsh Posté le 12-09-2003 à 15:55:09    

KdZ' a écrit :

mais si :o  la varaible $action est meme définie dnas l'url
enregistrement ou modification (d'une fiche) du formulaire...


dans une fonction, tu ne peux accéder directement aux variables du reste du script, il faut passer par le tableau GLOBALS http://www.php.net/manual/fr/langu [...] .scope.php

Reply

Marsh Posté le 12-09-2003 à 18:47:02    

dropsy a écrit :


dans une fonction, tu ne peux accéder directement aux variables du reste du script, il faut passer par le tableau GLOBALS http://www.php.net/manual/fr/langu [...] .scope.php


 
ounaid :)

Reply

Marsh Posté le 12-09-2003 à 18:55:18    


 :heink:  :??:  :heink:  :??:  [:sushi]

Reply

Marsh Posté le 12-09-2003 à 19:25:26    

dropsy a écrit :


dans une fonction, tu ne peux accéder directement aux variables du reste du script, il faut passer par le tableau GLOBALS http://www.php.net/manual/fr/langu [...] .scope.php

ou redéfinir la variable en début de fonction par :
global $action;
 
PHP est un langage bizarre. Dans tous les autres, il faut définir les variables sauf les variables globales. C'est exactement l'inverse pour PHP :pt1cable:


Message édité par mrbebert le 12-09-2003 à 19:27:40
Reply

Marsh Posté le 12-09-2003 à 19:43:17    

C'est sur que ca fait bizarre mais cela oblige justement à ce forcer pour les utiliser et c'est pas plus mal. Mieux vaut les eviter, surtout que la plupart du temps on peut faire autrement


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 12-09-2003 à 19:43:17   

Reply

Marsh Posté le 13-09-2003 à 14:46:38    

ouarf, je galere depuis 1h30 sur cette page :pfff:  :pfff:  :
 

Code :
  1. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <?php
  6. // CONNEXION BDD
  7. require('connexion.php');
  8. if(!$action)
  9. {
  10. $action = 'nouvelle';
  11. $confirm_action = 'actions.php?action=nouvelle';
  12. }
  13. // ON VERIFIE SI ON DOIT AFFICHER MODIFIER LA FICHE D'UN SITE
  14. function verif($str) {
  15. if($action == 'modifier')
  16. return "$str";
  17. else
  18. return '';
  19. }
  20. // FORMULAIRE
  21. $formulaire = ('<form name="form1" id="form1" method="post" action="'.$confirm_action.'">
  22. <table border="1" cellpadding="5" cellspacing="0">
  23. <tr align="center">
  24. <td colspan="2" align="center"><strong>NOUVEAU LIEN DANS LA BDD</strong></td>
  25. </tr>
  26. <tr>
  27. <td>Titre du site</td>
  28. <td><input name="titre" type="text" id="titre" value="'.verif("$row[1]" ).'" size="70" /></td>
  29. </tr>
  30. /*
  31. je vous passe le reste du code du formulaire...
  32. */
  33. </table>
  34. <p>
  35. <input type="submit" name="Submit2" value="Sauvegarder" />
  36. <input type="reset" name="Submit" value="R&eacute;tablir" />
  37. </p>
  38. </form>
  39. ');
  40. // ACTIONS SI MODIFICATION FICHE
  41. if($action == 'modifier')
  42. {
  43.  $title = 'Modifications';
  44.  $confirm_action = 'actions.php?action=modifier';
  45.  // SELECTION DE LA TABLE & ENREGISTREMENT
  46.  if($id)
  47.   {
  48.    $resultat = mysql_query("SELECT * FROM tth_liens WHERE id=$id" );
  49.    $row = mysql_fetch_row($resultat);
  50.    $modif = mysql_fetch_array($resultat);
  51.    print("$formulaire" );
  52.   }
  53.  else
  54.   {
  55.    print('<form name="selection_id" id="selection_id" method="post" action="?action=modifier">
  56. <input name="id" type="text" size="4" maxlength="4" />
  57. <input name="Submit" type="submit" value="Afficher" />
  58. </form>
  59. ');
  60.   }
  61. }
  62. // ACTIONS SI NOUVELLE FICHE
  63. if($action == 'nouvelle')
  64. {
  65. $title = 'Nouvel enregistrement';
  66. $confirm_action = 'actions.php?action=nouvelle';
  67. print("$formulaire" );
  68. }
  69. ?>
  70. <title>[<?php print("$title" ); ?>] Fiche d'un site</title>
  71. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  72. <link href="style.css" rel="stylesheet" type="text/css" />
  73. </head>
  74. <body>
  75. <p>&nbsp;</p>
  76. <hr />
  77. <div align="center">
  78.   <p>&nbsp;</p>
  79.   <p><font size="3"><strong><a href="?action=modifier">Modifier un fiche </a></strong></font></p>
  80. </div>
  81. <p>&nbsp;</p>
  82. </body>
  83. </html>


Message édité par KdZ' le 13-09-2003 à 14:49:48
Reply

Marsh Posté le 13-09-2003 à 15:19:57    

si je ne m'abuse la valeur de $action, vu que c'est pas une variable globale, n'est pas connu dans la fonction verif, donc jamais $action == 'modifier' (bis)

Reply

Marsh Posté le 13-09-2003 à 15:37:11    

etant debutant, j'avoue avoir un peu de mal face à vos propos tres "pro"  :pfff:

Reply

Marsh Posté le 13-09-2003 à 15:41:23    

ben sinon tu fait comme ça:

Code :
  1. function verif($str,$action) {
  2.     if($action == 'modifier')
  3.       return "$str";
  4.     else
  5.       return 'test';
  6.   }


et dans ton input:

Code :
  1. <? echo verif($str,$action) ?>


Message édité par Kt-Redfox le 13-09-2003 à 15:41:33
Reply

Marsh Posté le 13-09-2003 à 16:03:13    

je vias tester ça, merci :)
 
au fait, j'ai un doute, est-ce que ma variable $id est bien envoyée dans le forulaire de modif ?
Edit : ça marche pas : Warning: Missing argument 2 for verif() in f:\web\tests2\bdd.php on line 16


Message édité par KdZ' le 13-09-2003 à 16:06:14
Reply

Marsh Posté le 13-09-2003 à 16:19:50    

Règles :  
- pas de variables globales
- travailler en register global à Off => utiliser les tableaux de variables pour récupérer ses variables de formulaire :
HTTP_POST_VARS[nomvar] et HTTP_GET_VARS[nomvar]
 
sinon n'importe qui peut directement modifier le contenu de tes variables (d'authentification par ex) en la passant en paramètre d'une page!!

Reply

Marsh Posté le 13-09-2003 à 16:26:39    

oki, je fais un autre topic pour mon nouveau pb, parce que c le bordel ici  :lol:


Message édité par KdZ' le 13-09-2003 à 16:28:35
Reply

Marsh Posté le 13-09-2003 à 16:39:00    

KdZ' a écrit :

je vias tester ça, merci :)
 
au fait, j'ai un doute, est-ce que ma variable $id est bien envoyée dans le forulaire de modif ?
Edit : ça marche pas : Warning: Missing argument 2 for verif() in f:\web\tests2\bdd.php on line 16


c'est parceque ta variable $action n'a pas été définie. Dans ce cas là u met au début:
 

Code :
  1. if(empty($_GET['action']))
  2. {
  3. $action = 'prout';
  4. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed