|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||||
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
Bonjour,
je fais la partie admin de mon site internet mais j'ai des problèmes. je fais les pages pour la modification de ma base de données mais j'ai des erreurs de type : Citation:
voici le code de ma page 1 : Code php :
ma page 2 : Code php :
ma page 3 : Code php :
de plus j'ai une erreur Citation:
mais peut être que je me suis trompé dans le code je ne sais pas trop. merci de votre aide =) ps : pour info première fois que je fais une partie admin donc j'ai beaucoup de mal à la réaliser ! |
||||||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : avril 2009 Messages : 83 ![]() |
Bonjour,
ta variablen'est jamais renseignée, c'est idPersonne qui l'est. De plus, c'est pas un $_POST mais un $_GET car tu passes par une URL et pas par un formulaire. Ce sera donc qui remplacera J'espère que ça pourra t'aider |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
euh je suis perdu donc j'ai compris ce que tu disais mais je vois pas dans quelle page c'est =/
merci pour ton aide =) |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : avril 2009 Messages : 83 ![]() |
c'est dans ta page 2 ligne 9
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
j'ai changé cette ligne
Code php :
$IdEntrepriseRef = $_POST["IdEntrepriseRef "] ; Code php :
$IdEntrepriseRef = $_GET["IdEntrepriseRef "] ; ah et idPersonne ce n'est pas pour ma base (c'est du code que j'ai trouvé et j'ai fais un copier/coller =/ je sais c'est pas beau =/ mais comme je le disais dans mon premier post c'est la première fois que je fais une partie admin !) |
|
|
00
|
|
|
#6 | ||||
|
Membre régulier
![]() Inscription : avril 2009 Messages : 83 ![]() |
non, tu t'es pas trompé de ligne, mais c'est bien le nom de ta variable qui est incorrecte.
le seul code qui te permet de changer de page dans ta page 1 est celui-ci : Code php/html :
et ça c'est du $_GET et pas du $_POST. De plus, nul part il y a indiqué une variable "IdEntrepriseRef" dans ce code. La seule variable est "idPersonne". Si tu veux vraiment utiliser idEntrepriseRef, tu changera le code de ta page 1 : Code php/html :
Là j'ai juste changé le nom de ta variable envoyée par URL. Par contre, tu laisses bien le type $_GET dans ta page 2. J'espère que ça pourra t'aider. |
||||
|
|
00
|
|
|
#7 | ||
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
Citation:
Citation:
Code :
<div align=\"left\">".$result->NomEntreprise." ".$result->TexteClient." <a href=\"modification2.php?idEntrepriseRef=".$result->LogoEnt." ".$result->IdCategorie."\"><br />modifier</a><p>\n") ; |
||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : avril 2009 Messages : 83 ![]() |
du $_POST, c'est quand tu passes par un formulaire (balise <form>)
du $_GET, c'est quand tu passes par une URL (page.php?variable=...) pour ta deuxième question, tu remplaces simplement "idPersonne" par "IdEntrepriseRef" dans ta page 1. |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
han d'accord !!
un peu trop complexe pour moi tout ça -_- merci de ton aide =) je vais regardé tout a l'heure si ça fonctionne, et en attendant je vais modifié mes autres pages comme ça je vérifierais toute mes pages en même temps ! merci encore pour ton aide =) je mets le sujet en résolu en attendant que je vérifies ! |
|
|
00
|
|
|
#10 | |||
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
eh bien cela ne change rien toujours les même problèmes ! =/
de plus sur ma page 3 toutes mes variables sont pas définis quand j'exécute ma page alors que pour moi elles ont l'air défini ! voici le message d'erreur de ma page 3 : Citation:
oui j'ai du merdouiller quelque part si vous pouvez me dire s'il vous plaît. de plus à ma page 2 j'ai toujours mes erreurs de type Citation:
j'ai changé le "object" par "array" et "row" mais ca ne change rien (j'ai fais ces test pour voir si quelque chose aller changer). dans mes zones de textes s'affiche : Citation:
|
|||
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : avril 2009 Messages : 83 ![]() |
Je viens de voir un truc sur ta page 1 :
tu n'envoie pas l'id entreprise en paramètre URL mais son nom Code php :
($result->LogoEnt." ".$result->IdCategorie). du coups, il faut que tu modifies ta requête en page 1 (ajouter le champs id entreprise, "IdEntrepriseRef" je suppose) et que dans ton href, toujours dans ta page 1, tu mettes l'id de l'entreprise au lieu de nom nom Code php :
($result->idEntrepriseRef au lieu de $result->LogoEnt." ".$result->IdCategorie). |
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
euh j'ai fais ça :
Code :
<div align=\"left\">".$result->IdEntrepriseRef." ".$result->NomEntreprise." ".$result->TexteClient." <a href=\"modification2.php?IdEntrepriseRef=".$result->LogoEnt." ".$result->IdCategorie."\"><br />modifier</a><p>\n") ; |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 699 ![]() |
Salut
Comme te l'a dit anthony89, transmet 1 seule (et unique) donnée à ton autre page "modification2.php", une donnée fiable, un ID (identifiant). Dans ta table "client" il doit avoir un ID unique qui permet de désigner un client de manière unique, c'est celle ci qui faudrait transmettre. Après, dans ta page "modification2.php", tu vas récupérer cette donnée, ensuite faire une requête SQL pour récupérer les autres données liées à celle ci. Ca fait donc qu'une seule donnée à vérifier, et si elle est correcte, tout le reste sera cohérent, fiable. C'est comme ça que ça se fait en général. Si tu crée des liens avec toutes sortes de données qui sont déjà dans la Bdd, à quoi sert la Bdd dans ces conditions ? Puis un lien, genre <a href></a>, c'est loin d'être un moyen fiable, car une personne un peu folles ou mal intentionnée aura tout le loisir de saisir dans sa barre de navigation tout et n'importe quoi. Tu fais comment si l'IdEntrepriseRef est bon, mais pas le LogoEnt ou encore IdCategorie ? Très embêtant ce genre de données incohérentes non ? A savoir que pour transmettre plusieurs données (paramètres) dans une URL (un lien), il faut les séparer par des & avec des couples nom/valeur Exemple : Code :
<a href="domaine.com/page.php?param1=un¶m2=deux¶mN=etc">Un lien</a> Aussi, echo est une exception, ce n'est pas une fonction, du coup, les parenthèses ne sont pas obligatoires, autant se simplifier la vie. Puis mettre du contenu HTML avec des attributs qui comportes des quotes ", le plus simple c'est de faire des echo avec des simples quotes, ce qui évite d'échapper sans cesse les ". Exemple : Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#14 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
ah bah oui ça a l'air plus simple !!
et je comprends déjà mieux (je suis longue à la détente lol) par contre dans Code :
<a href="domaine.com/page.php?param1=un¶m2=deux¶mN=etc">Un lien</a> |
|
|
00
|
|
|
#15 | |||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 699 ![]() |
Citation:
Les paramètres sont les données que tu souhaites transmettre d'une pages à une autre page. Dans mon exemple, "param1" est le nom du paramètre et valeur "un", puis un 2ème paramètre au nom de "param2" et comme valeur "deux". Au clique sur le lien ces couples noms/valeurs seront transmis, et pourront être récupérés dans l'autre page via $_GET. Toujours le même principe de nom/valeur. Exemple: Code :
Quand on transmet des données comme ça d'une page à l'autre, faut surtout pas hésiter de faire ces echo, des print_r() ou autre var_dump() sur $_GET, $_POST, et même sur toute sorte de données dont on hésite ce quelles contiennent comme valeur, ou pour juste vérifier. A consommer sans modération. Si on ne fait pas ça, on avance pas d'un poil, c'est le flou total.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||
|
|
00
|
|
|
#16 | ||||||||||
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
je n'y arrive toujours pas,
ça me mets d'autres erreurs -_- ca ne se fait pas, mais je suis en stage et je fini mon stage vendredi et j'aimerai que le site soit fini, alors pourriez vous me corriger directement les parties qui ne vont pas s'il vous plaît, de plus j'ai encore la partie de suppression a corriger car là aussi il y a des erreurs =( sinon j'ai essayé d'apporter des corrections à ma page 1 donc le code me donne : Code :
Citation:
Code :
Citation:
Citation:
page 3 : Code :
Citation:
|
||||||||||
|
|
00
|
|
|
#17 | ||||||
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 656 ![]() |
Résumons un peu les messages d'erreur :
"undefined variable" signifie que tu utilises une variable avant de l'avoir affectée. Ce genre de code renverrait cette erreur : Code :
Code :
Code :
Par exemple dans ta page 2 : tu fais ceci : Code :
<?php echo($result->IdEntrepriseRef) ;?> mysql_query ne renvoie pas un objet directement exploitable, il faut que tu passes une fonction fetch dessus (par exemple mysql_ fetch_ object, pour pouvoir l'utiliser comme objet ensuite...)
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
||||||
|
|
00
|
|
|
#18 | |||||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 699 ![]() |
Tu es en stage et qu'il se termine vendredi, je veux bien, mais la théorie veut qu'il ait eu une formation, un apprentissage, les bases au moins non ?
Code :
Citation:
Pourquoi exploiter des variables qui n'ont jamais été créés ? Regarde ton code, celui ci-dessus. Tu fais une boucle while qui défini $result, et c'est celle ci qui contient les données que la requête à récupérée non ? Donc en toute logique suffit de faire : Code :
Nomme mieux variables, car $sql, $requête, $result, je t'assure que ça ne veut rien dire du tout, c'est beaucoup trop général. J'y mis qu'un seul paramètre, car IdEntrepriseRef suffit normalement, ta page 2 récupérera le reste. Puis effectue mysql_fetch_array() au lieu de mysql_fetch_object(). Met de coté l'Objet, fait simple avec des tableaux, ça fonctionnera tout aussi bien. En gros, ne rend pas les choses plus compliquées quelle ne le sont. Dans ta page 2 tu exécute la requête, mais tu oubli de les récupérer, comme faire un mysql_fetch_array() (ou mysql_fetch_object() si tu préfère). Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||||||
|
|
00
|
|
|
#19 |
|
Futur Membre du Club
![]() Prisss Étudiant Inscription : juin 2010 Messages : 86 ![]() |
RunCodePhp justement je disais du code mais expliquer car du code sans explication c'est comme vouloir apprendre le chinois !! =/
merci de votre aide RunCodePhp et Celira, je vais me pencher à nouveau sur mes problèmes et essayer et surtout de réussir à les résoudre !! si j'y arrive pas bah je remettrai un post (et vous finirai par perdre patiente à moins que cela ne soit déjà fait ! =/) mais merci en tout cas pour votre aide =) |
|
|
00
|
|
|
#20 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 699 ![]() |
Citation:
Si par exemple pour la 1ère erreur on ne vois pas, ou on ne comprend pas pourquoi cette erreur, c'est à dire le fait d'avoir utiliser une variable non créé (non déclarée et non initialisée), et bien il faut revenir à 0, au tout début de l'apprentissage de Php. Si tel est le cas, ce n'est pas possible, pour ma part on doit avoir un minimum de pré-requis. Il me semble que ce n'est pas l'objectif d'un tel forum de former les gens au BABA de Php, il y a des tutos, faq, bouquins, etc ... qui existent déjà, et en profusion. Tu ne crois pas ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com