Recupérer une variable

refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006 - 8 sept. 2005 à 15:34
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 13 sept. 2005 à 18:46
Bonjour à tous!


Je suis débutante en php, et je suis bloquée maintenant!
je veux récupérer une valeur d'une table de la base de données et l'envoyer sur une autre page de mon site pour qu'elle soit ajouter comme clé etrangère pour une autre table;
voici le code! Mais ça n'a aucun résultat!
Je vous prie de m'aider!

$req=mysql_query("select * from entreprise where login='$login' AND motpasse='$motpasse' ");


$reqet=mysql_query("select ident from entreprise where login='$login' AND motpasse='$motpasse' ") or die ("exécution impossible");
$id=mysql_fetch_array($reqet,MYSQL_ASSOC);

if ( mysql_num_rows($req) === 1 )
{?> <script language="JavaScript">




location.href="diffuseroffre.php?ident="$id ;



</script>
<? }
?>
dans la page ou je vais récupérer la variable

echo $id;

je sais que ça ne donne rien mais j'ai pas trouvé de solution! Merci de m'aider!

27 réponses

tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
8 sept. 2005 à 16:48
salut,

logique! quand tu fais ton location.href tu n'est plus dans le code php et tu écrit $id tout simplement

pourquoi ne fait tu pas ta redirection en php avec header(), ce serait beaucoup plus simple

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
8 sept. 2005 à 18:15
Merci déja pour votre réponse, Mais est ce que vous pouvez m'expliquer d'avantage?
je suis débutante et je trouve pas de solution!
Merci!
0
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007
8 sept. 2005 à 18:51
en gros tucsoufle disait de remplacer
location.href="diffuseroffre.php?ident="$id ;
par
location.href="diffuseroffre.php?ident=<? echo $id; ?>";

ou je crois quon peut l'écrire comme ça (pas sur, ça fait trop longtemps lol)
location.href="diffuseroffre.php?ident=<?=$id; ?>";

sinon, tu peux utiliser les "headers" pour faire ta redirection au lieu d'utiliser javascript...

++ Alexandre
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 sept. 2005 à 18:59
Salut,



if ( mysql_num_rows($req) === 1 )

{

header('location:diffuseroffre.php?ident='.$id);

}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 sept. 2005 à 22:19
<?php

$reqet=mysql_query("select ident from entreprise where login='$login' AND motpasse='$motpasse' ")
or die ("exécution impossible");



if ( mysql_num_rows($req) === 1 ) {

$id=mysql_fetch_array($reqet,MYSQL_ASSOC);

header('location:diffuseroffre.php?ident='.$id['ident']);

}

?>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 sept. 2005 à 22:20
Bon à savoir en passant :



$req=mysql_query("select * from entreprise where login='$login' AND motpasse='$motpasse' ");

$reqet=mysql_query("select
ident from entreprise where login='$login' AND motpasse='$motpasse' ")
or die ("exécution impossible");



Sont identiques ! Ca ne sert à rien ;)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 sept. 2005 à 22:23
? le select * est à éviter

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
9 sept. 2005 à 08:36
Merci tout le monde pour vos réponses, je vais essayé l'une des solutions et je vous dirai ce que ça donne!
et tu as raison Fhx! parce qu 'en faisant le "select *" on a pas besoin de faire "select ident"!
a++
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
9 sept. 2005 à 09:16
Bonjour!
j'ai essayé toutes vos solutions!
la solution de fhx et de anthomicro me donne le message suivant
"Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\refka\identifierentreprise.php:6) in c:\program files\easyphp\www\refka\identifierentreprise.php on line 41"
je vais essayé de trouver la solution et entre temps s'il ya quelq'un qui peut m'aider, je le prie de le faire!
Merci:!
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 12:24
> sur le forum on l'a répondu souvent ;)



C'est parce que tu as du HTML qui sort avant d'appeler la fonction header().

Regarde dans identifierentreprise.php à la ligne 6... soit y'a un
echo(), soit y'a une ligne blanche. Tu supprimes si c'est une ligne
blanche à la con ;) (mais ca m'étonnerai).
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
9 sept. 2005 à 12:24
Salut!
Comme personne ne m'a répondu et j'ai pas trouvé une solution, j'ai changé d'idée!
j'utilise maintenant les sessions, alors voila le code
<? session_start(); ?>avant le html, dans les deux pages.

puis

<script language="JavaScript">




location.href('diffuseroffre.php');
$_SESSION["s"]=$id[ident];

</script>

Mais ça ne me donne rien aussi je pense qu'il ya une faute dans la récupération de la variable, je fais, $id=$s; puis j'utilise $id dans ma requete d'insertion
SVP aidez moi parceque je trouve pas de solution il ya 2 jours!
Merci!
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 12:25
Je rajoute (j'ai oublié).

Evite le "SELECT * ... " comme l'a dis Antho. Fait plutot une liste de
tes champs à sélectionner, ca t'évitera bien des surprises au niveau
temps de chargement !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 13:10
Salut,



Refkaben, je ne voudrais pas être méchant, mais c'est à croire que tu ne lis rien de ce que l'on t'a écrit.

Pour le header, FhX t'a expliqué. Si tu as du code html avant un
header, tu as cette erreur. IL y a tout un tas de solutions : virer le
html avant ce header, utiliser ob_start () (vas voir la doc là-dessus).



Pour ton location.href, c'est Tuc qui t'a expliqué quel était le
problème. Tu balances des variables php dans ton javascript! Tu n'es
plus dans php, et javascript n'a aucune idée de ce qu'est $id['ident'],
par exemple.



Je reprends ton 1er code, je te fais un truc pas très joli (mais en
corrigeant certaines choses hein...), mais qui devrait fonctionner :



<?php
$reqet=mysql_query("select
ident from entreprise where login='$login' AND motpasse='$motpasse' ")
or die ("exécution impossible");
$id=mysql_fetch_array($reqet,MYSQL_ASSOC);

if ( mysql_num_rows($req) === 1 )
{

echo '<script language="JavaScript">





location.href="diffuseroffre.php?ident=',$id['ident'],'" ;




</script>';

}

?>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 13:22
Je désespère certaines fois ;)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 13:28
Et en plus :



echo '<script type="text/javaScript">


location.href="diffuseroffre.php?ident=',$id['ident'],'" ;




</script>';
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 13:29
Viens plutôt m'aider sur le thread de stableaux croisés, FhX, j'ai du mal lol ;-)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 14:32
Ouais, mais c'est complexe son truc... ;)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 14:44
Ben justement, lol ! Flemmard!! Lâche!! ;-)



Ouais...une structure pourrie, alors ensuite afficher un tableau croisé
avec des données extraite d'une table bordélique...pfff...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 15:55
utilise les headers au lieu de faire un echo de javascript, c'est
bancal et pas compatible avec tous les navigateurs. Pour les headers il
faut rajouter ob_start(); tout en haut et ob_end_flush(); tout en bas.
Ensuite n'utilise pas <? mais <?php

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 16:01
Vouais ben vas lui fair ecomprendre comment utiliser les header, et
ob_start(), vu son niveau en php (elle débute) etc... :-( Bon courage.
0
Rejoignez-nous