probleme base de données

Eléphant du PHP | 153 Messages

17 juin 2006, 20:55

Ok, mais donne le code source total de ta page, on pourra te le corriger et il sera pret pour demain ;)

Bonne nuit !
http://gl2.delcedo.com/ Galaxialord 2 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 juin 2006, 21:13

Edit : ou si tu veux garder l'image : <img [...] onclick="document.getElementById('form1').submit(); />
ou utiliser le type "image" qui valide le formulaire.
<input type="image" name="valider" value="valider" src="nom_de_l_image">
La récupération se fera par
$valide = ($_POST['valider_x']) ? 1 : 0;
pour la syntaxe regarde ICI
La récupération d'un type image passe par les coordonnées du clic sur l'image d'où le "_x".

tu remplace donc le type "submit" par le type "image" et ce test:
if ($continuer=="CONTINU")
par:
if($valide)
dans l'action du form rien d'autre que le fichier de traitement:
action="Adresse.php"
par défaut ce serveur affiche les notifications (pas très importantes), pour résoudre ce problème
(...)
Tu recommande de cacher les messages d'erreurs ?
avec "E_ALL & ~E_NOTICE & ~E_STRICT"... en tous cas il vaut mieux régler les problèmes au lieu de les cacher.
il me mais Notice: Undefined index: continue in c:.... line 19
signifie que l'indice de $_GET['continue'] n'est pas définis tu n'as pas du le passer dans l'action ou avec "continueR" avec un "R"... plus nécéssaire avec le type image.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

17 juin 2006, 22:33

Tu recommande de cacher les messages d'erreurs ?
avec "E_ALL & ~E_NOTICE & ~E_STRICT"... en tous cas il vaut mieux régler les problèmes au lieu de les cacher.
Je ne recommande pas de cacher les erreurs, mais les erreurs mineures qui ne sont que des notifications, je ne les considère pas comme étant importante.
D'ailleurs la majorité des serveurs, avec une installation par défaut, n'affiche pas les messages de notifications, donc je pense juste comme eux :)

utiliser le type "image" qui valide le formulaire.
PHP:
<input type="image" name="valider" value="valider" src="nom_de_l_image">
Sinon oui, tu as raison et c'est même plus ergonomique, l'utilisation des input image, j'y pense pas souvent :roll:
Seul problème, c'est que ta méthode PHP pour vérifier si le formulaire a été posté ne fonctionne pas :
si l'utilisateur appuie sur entrée : sous opera $_POST['valider_x'] = 0, IE7 $_POST['valider_x'] = NULL, et donc ta macro ne fonctionne pas.
De plus ta macro générera une notification elle aussi :) car le $_POST['valider_x'] n'est pas défini lorsque l'utilisateur rempli le formulaire.

D'ailleurs comment ferais tu (Truc) pour faire en une seule page la saisie des informations et le traitement sans avoir de notification PHP ?


Je conseille donc de mettre comme prévu au départ, action="Adresse.php?continue=CONTINUE", et de laisser le test (même s'il génère une notification (et modifie du coup ton php.ini pour supprimer ces notifications)), ou alors d'envoyer les données sur une autre page.
http://gl2.delcedo.com/ Galaxialord 2 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 juin 2006, 23:13

D'ailleurs comment ferais tu (Truc) pour faire en une seule page la saisie des informations et le traitement sans avoir de notification PHP ?
Comme ceci:
$continue = (isset($_GET['continue'])) ? $_GET['continue'] : '';
tester l'existence de la variable avant utilisation

En ce qui concerne IE7 j'installe pas du MS béta :lol:
Mais si c'est exact le test tombe effectivement à l'eau :?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

17 juin 2006, 23:22

Je peux plus faire les tests sur IE6 mais je pense que ca n'a pas du changer, la valeur par défaut doit être NULL ? Sinon mozilla et opera sont ok ;), mais bon je trouve que c'est jouer avec le feu, normalement il s'agit des coordonées de la position du clique, donc l'appuis sur la touche entrée ne devrait pas faire office d'un clique sur l'image ! Et puis je pense qu'il vaut mieux faire du code qui fonctionnera tout le temps.

Sinon bien vu pour le isset(), je savais pas que ca supprimait la notification :(
http://gl2.delcedo.com/ Galaxialord 2 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 juin 2006, 23:35

enfait isset() permet de tester l'existence de la variable donc à partir du moment où le formulaire est validé la variable existe.

J'ai juste oublié un isset(), corection:
$valide = (isset($_POST['valider_x'])) ? 1 : 0;
Modifié en dernier par Truc le 18 juin 2006, 00:15, modifié 1 fois.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

17 juin 2006, 23:41

isset d'une variable NULL rend faux et pas vrai.
http://www.killersoft.com/misc/php_variable_tests.php

donc la macro n'est pas bonne (dsl d'insister :p)
http://gl2.delcedo.com/ Galaxialord 2 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 juin 2006, 00:13

lol On peut débattre longtemps comme ça.

Sous IE6 la variable $_POST['valider_x'] vaut "0" donc pas de problème. Maintenant si IE7 renvoie bien "null" je m'incline :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

18 juin 2006, 00:23

dakidoc :) le débat s'arrête, il doit certainement s'agir d'un oubli de Microsoft qui sera corrigé lors de la sortie finale ;). De toute facon au choix du créateur du topic ! Sur ce, bonne nuit je vais faire dodo :sleeping:
http://gl2.delcedo.com/ Galaxialord 2 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 juin 2006, 00:41

De toute facon au choix du créateur du topic !
C'est sûr et il va revenir en disant "j'ai pris un bouton submit" classique :lol:

Et puis IE n'existera plus dans 15 ans :lol:

pas encore la fin de journée pour tout le monde :ordi:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

18 juin 2006, 00:52

:D Et s'il prend un submit !!! Quelle solution on lui proposera pour savoir si le formulaire est envoyé O:) ?

T'es fou de travailler si tard ! Tu fais des heures supp ? :)

Dans 15 ans on aura un navigateur intégré à notre cerveau qui permettra, par la pensée, de surfer sur le net (faudra que tous les "navigateurs cerveau" soit compatible XHTML !!! arf la misère...).

Ouh la la, vu ce que j'écris ca va être très gros dodo !
http://gl2.delcedo.com/ Galaxialord 2 !