Page 1 sur 2

pbl de passage 2 valeur 2 variable d'1 formulair a un otre

Posté : 20 sept. 2005, 14:52
par elastikkman
bonjour a tous je suis un super novice du php, cependan je travaille en stage sur une interface graphique pour une base de donnée oracle 8i, j'ai réussi en bidouillan a me connecter a la base mais je n' arrive pas a fair passer les valeurs de variables d' 1 formulair a un otr je voudré ainsi établir la connexion a la base de donnée en entran le nom de la base , lutilisateur et le mot de passe ac une jolie requete sql (select)a la fin pour verifier que la connexion est établie et ke les requete fonctionnent: index :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>BASE DE DONNEES</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <p align="center"><strong>INTERFACE DE BASE DONNEES EN PHP </strong></p> <p align="center"><img src="31725200.brest4.jpg" width="380" height="290"> </p> <div align="center"> <table width="380" border="1"> <tr> <td height="40" colspan="2"><p>Saisie des donn&eacute;es n&eacute;cessaires &agrave; la connexion : </p></td> </tr> <tr> <td width="183" height="33">nom d' utilisateur : </td> <td width="183"> <input name="user" type="text" id="user" value="<?php echo $user; ?>" /> </td> </tr> <tr> <td height="34">mot de passe : </td> <td> <input name="passwd" type="text" id="passwd" value="<?php echo $passwd; ?>" /> </td> </tr> <tr> <td height="40">nom de la base de donn&eacute;es : </td> <td> <input name="host" type="text" id="host" value="<?php echo $host; ?>" /> </td> </tr> </table> <form name="form1" method="post" action="./connect1.php"> <input name="valider" type="submit" id="valider" value="valider"> </form> </div> </body> </html>]
et le 2eme formulair :

Code : Tout sélectionner

<form name="form1" method="post" action="./requete.php"> <p align="left"><strong>Rechercher un patient</strong></p> <p><img src="31725497.brest19.jpg" width="355" height="205"></p> <p>&nbsp;</p> <table width="419" border="1"> <tr> <td width="409"><div align="center">Entrer le num&eacute;ro d' IPP : <input type="text" name="textfield" value="<?php echo $ipp; ?>"> <input name="valider" type="submit" id="valider" value="valider"> </div></td> </tr> </table> </form> <?php // parametre d'entree (fournis par le formulaire) : // user : le nom d'utilisateur (compte) Oracle // passwd : le mot de passe du compte Oracle // host : le nom du serveur de données (Alias) Oracle, // ...soit fourni directement soit calculé a partir des variables : // ...machine : le nom de lamachine serveur (ou au pire son @ IP) // ...port : le no du port TCP IP d'ecoute pour Oracle (1521 par defaut) // ...sid : l'identificateur de la base sur la machine serveur putenv("ORACLE_HOME=c:\oracle\ora81"); // de cette maniere le programme s' execute normal vu que jlui ce qu' il fo entrer lol sans aucun soucis le formulaire précédent ne sert ds ce cas a fair joli :) mais bon c pa ce ke je veu $user = "BM"; $passwd= "BM"; $host = "stage"; /* de cette maniére par contre il ne reçoit pas de valeur : et le but de mon programme est de me connecter a la base oracle le select ici ne servant qu' a vérifier le bon fonctionnement de la requete echo $user = $_POST['user']; echo $passwd= $_POST['passwd']; echo $host = $_POST['host'];*/ $connect = ociplogon($user,$passwd,$host); if (!$connect) { echo "L'utilisateur $user n'a pu se connecter a la base"; }else { echo "<BR>User : <B>$user</B> Connecte a la base <B>$host</B> version : <BR>"; echo OCIServerVersion($connect);} // appel du fichier requete_sql //include("includes/requete_sql.php"); // essai avec dautre exemples $sql = "select PAT_NOM_USUEL from PATIENT"; $stmt = ociparse($connect,$sql); ociexecute($stmt); while (ocifetchinto($stmt,&$ligne,OCI_ASSOC)) { echo "<BR> Nom : " . $ligne["PAT_NOM_USUEL" ] . "<BR>"; } ocilogoff($connect); // fin d'essai ?>
Merci davance

Posté : 20 sept. 2005, 14:56
par HD
aie aie si un moderateur tombe sur ton langage sms (et en plus tu as utilisé les balises code au lieu de php :( )
en tous cas
je n' arrive pas a fair passer les valeurs de variables d' 1 formulair a un otr
essaie avec les sessions ce sera plus simple (et c'est pas dur a apprendre pour un debutant):
http://www.laltruiste.com/document.php? ... ssion.html
ou
http://www.manuelphp.com/php/ref.session.php
ou
:google:

mon sujet !

Posté : 20 sept. 2005, 15:21
par elastikkman
HD jte remerci davance pour tes conseils je vai allez voir ça en tt cas je suis désolé pour les modérateurs je ne sais pa vraimen ce kon é otorisé a mettr en tt cas je v voir ça de + pré :) et si mon code a disparu jme poseré pa tro de kestion pkoi

Posté : 20 sept. 2005, 15:23
par HD
non pas à ce point quand meme :D
il suffit juste d'ECRIRE correctement et pour le reste c'est pas grave
bon courage

Re: mon sujet !

Posté : 20 sept. 2005, 15:51
par Cyrano
HD jte remerci davance pour tes conseils je vai allez voir ça en tt cas je suis désolé pour les modérateurs je ne sais pa vraimen ce kon é otorisé a mettr en tt cas je v voir ça de + pré :) et si mon code a disparu jme poseré pa tro de kestion pkoi
Modération : on autorise pas le langage sms par exemple... :evil:

toujours le même soucis

Posté : 21 sept. 2005, 10:38
par elastikkman
désolé cyrano j' espere que cette fois ci je n'aurai pas de réprimande point de vu orthographe ni écriture ( à part les fautes d' orthographe car personne n' est parfait :) ) donc je voulais dire que mon problème persiste toujours je n'arrive pas a faire passer rien qu' une seule valeur d' une page html a une autre avec le code php bien sur ! Que ce soit avec l' utilisation de session ou autre comme post exemple

Code : Tout sélectionner

<?php /* index premiere page */ /* je fais une déclaration de variable je sais pas si c'est utile je ne fais de php que depui une semaine et demi à peine */ $user=$_POST['user']; /* verification que la variable est bien vide */ if(isset($_POST['user'])) echo "c'est rempli"; else echo "c'est vide"; ?> /* ensuite y a l'exemple de mon champ texte pour le nom d' utilisateur et desolé pour les balises mais je vois pas comment expliquer sans elles */ <td width="183" height="33">nom d' utilisateur : </td> <td width="183"> <input name="user" type="text" id="user" value="<?php echo "$user"; ?>" /> /* et le bouton qui sert à valider */ <form name="form1" method="post" action="./connect.php"> <input name="valider" type="submit" id="valider" value="valider"> /* bien entendu j' ai d' autres champs à remplir mais si une variable arrive à passer je pense que mon probleme sera résolu */ /* et voila fini pour la premiere page */
Ensuite viens la seconde page donc celle qui doit recevoir et qui ne recoit rien :cry:

Code : Tout sélectionner

<?php /* page 2 page connect */ <?php putenv("ORACLE_HOME=c:\oracle\ora81"); /* le programme coince lors de la transmission de valeurs de variables */ echo 'Bienvenue sur la page numéro 2<br />'; echo $user=$_POST['user']; // user /* la vérification du passage de valeur ce fait par isset et là malheuresement il me met jusqu' à présent " c'est vide" */ if(isset($_POST['user'])){ echo "c'est rempli";}else{echo "c'est vide";} ?>
Bref je pense que que ce code résume bien mieux mon probleme que le précédent d' ailleur si cyrano ou un autre modérateur veut le supprimer y a pa de soucis mais si vous pouvez conserver celui là ça m' arrangerai lol
[/php]

Posté : 21 sept. 2005, 10:48
par Cyrano
Forcément : le champ input qui a le nom d'usager est en dehors du formulaire : Proposition de corrigé:
<?php
/* index premiere page */

/* je fais une déclaration de variable je sais pas si c'est utile je ne fais de php que depui une semaine et demi à peine */

$user=$_POST['user'];

/* verification que la variable est bien vide */

if(isset($_POST['user'])) echo "c'est rempli"; else echo "c'est vide";

/* ensuite y a l'exemple de mon champ texte pour le nom d' utilisateur et desolé pour les balises mais je vois pas comment expliquer sans elles */
?>
<td width="183" height="33">nom d' utilisateur :
      </td>
      <td width="183">
        <form name="form1" method="post" action="./connect.php">
        <input name="user" type="text" id="user" value="<?php echo "$user"; ?>" />
<?php
/* et le bouton qui sert à valider */
?>
        <input name="valider" type="submit" id="valider" value="valider">
<?php
/* bien entendu j' ai d' autres champs à remplir mais si une variable arrive à passer je pense que mon probleme sera résolu */

/* et voila fini pour la premiere page */
?>

toujours le meme probleme

Posté : 21 sept. 2005, 11:28
par elastikkman
Elementaire mon cher Watson je me doutais bien qu 'il y a avait une connerie dans ce genre cependant étant très limité point de vu intellectuel en ce qui concerne le php je ne vois pas comment intégrer le input au php. Je te rassure je suis bien meilleur en langage C.

Re: toujours le meme probleme

Posté : 21 sept. 2005, 13:01
par Cyrano
... je suis bien meilleur en langage C.
Le PHP étant dérivé dans sa syntaxe du C, tu ne devrais pas avoir de problèmes majeurs pour t'adapter ;)

help

Posté : 21 sept. 2005, 15:48
par elastikkman
bon ok d'accord merci de ton aide je n' arrive toujour à pas à inserer le input en php tu n' aurais s'il te plait un exemple de syntaxe pour un blaireau du php et du html ? Merci

Posté : 21 sept. 2005, 16:40
par Cyrano
Je ne comprends pas: tu veux l'insérer où au juste ? Tu voudrais faire quoi de différent par rapport à ce que j'ai donné comme exemple un peu plus haut ?

galere

Posté : 21 sept. 2005, 17:19
par elastikkman
Ben en fait ce que je fais c'est que j' essai de me connecter à une base de données oracle 8i pour cela j' ai besoin de trois champs : user , passwd et host qui dans mon cas est le nom de la base de données.
Malheureusement ce qu'il ce passe c ' est que je n' arrive toujours pas à me connecter et quand j' imprime la champs dont j' ai donné l' exemple et bien aucun changement . Le isset me donne une réponse "vide" j' ai même essayé différents exemple sur internet sur le passage avec moi ça marche pas :( . Je ne remets absolument pas ton code en question mais je ne vois pas du tout où ça passe pas .

suite

Posté : 21 sept. 2005, 17:23
par elastikkman
Je dis ça par ce que j'ai essayé ton code en rajoutant les autres champs qui me manquais mais là marche toujours pas :(

Posté : 22 sept. 2005, 08:41
par Cyrano
Une piste pour débugguer ton système: quand tu affiches ta page, édite la source HTML générée: vérifie que le formulaire a bien comme structure:

Code : Tout sélectionner

<form...> <input....> <input....> <input....> </form>
Si un des <input...> est en dehors de cette structure, c'est que tu as fait une erreur dans ton code. C'est précisément ce que j'ai souligné dans l'exemple que j'ai motré précédemment. Ta balise form était située juste avant le bouton submit, mais du coup les champs input étaient en dehors du formulaire, et situés avant la balise d'ouverture <form>.

Posté : 22 sept. 2005, 09:41
par elastikkman
Ok je commence a comprendre je vais essayer de voir si j' y arrive mieux comme ça autrement je sais où tu es ! Je vais bien finir par y arriver grrr. :lol: