Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4768 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fopen et Ressource id#

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fopen et Ressource id#

n°1723404
elmarokinh​o
Posté le 24-04-2008 à 10:55:58  profilanswer
 

Bonjour tout le monde,
voila j'ai de nouveau un petit probleme...

 

Le but était de relancer (si le "if" est respecté )la meme page php en completant l'url avec les champs de formulaire.. type  "http://page.php?name=toto "....

 

j'essaye d'ouvrir une page internet avec fopen mais cela ne marche pas ...

 

donc j'ai testé plusieurs truc je me retrouve avec un " Ressource id #3,4 ou 5 "

 

donc j'ai voulu testé simplement le fopen
avec :

 
Code :
  1. <?php
  2. $handle = fopen("http://127.0.0.1/stage/stage2.php",'r');
  3. print $handle ;
  4. ?>
 

mais en fait la syntaxe pour afficher des page ne doit pas vraiment etre ça ...
et si il y a un autre moyen que fopen je suis preneur mais j'aimerais bien comprendre cette fonction quand meme

 

merciiii

 


Message édité par elmarokinho le 24-04-2008 à 10:59:54
mood
Publicité
Posté le 24-04-2008 à 10:55:58  profilanswer
 

n°1723409
sielfried
Posté le 24-04-2008 à 11:00:02  profilanswer
 

Ben lis la doc.  
 
Et cherche aussi file_get_contents.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723445
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 11:11:48  profilanswer
 

Tu ne peut pas ouvrir une page comme ça et certainement pas avec fopen(), fait une redirection avec header('location: http://www.tonsite.com'); tout simplement.

n°1723462
elmarokinh​o
Posté le 24-04-2008 à 11:20:10  profilanswer
 

ok je vais me renseigner sur header merci

n°1723485
elmarokinh​o
Posté le 24-04-2008 à 11:38:06  profilanswer
 

ok, sa marche!
 merci ....
enfin preske ... dans header si je met location : $url ..cela ne marche pas ..
donc j'ai retapé l'adresse mais elle meme continet des $variables... comment faire pour qu'elles soient interprétées?  
 

n°1723510
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 12:07:45  profilanswer
 

Essayes avec : header('Location: ' . $url);  voir header('location: " . $url . "');
Normalement tu dois pouvoir passer des variables, sinon tu peut toujours utiliser un javascript avec window.location au pire, c'est pas les fonctions de redirection qui manquent.

Message cité 2 fois
Message édité par masterpsx le 24-04-2008 à 12:07:58
n°1723518
sielfried
Posté le 24-04-2008 à 12:14:34  profilanswer
 

masterpsx a écrit :

voir header('location: " . $url . "');


 
Euuuh. [:figti]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723655
elmarokinh​o
Posté le 24-04-2008 à 14:31:49  profilanswer
 

aucun des 2 ne fonctione ...  
en fait ce que je veux :
j'ai un script qui recherche une machine sur un switch. Si elle est detectée  sur un port gi0/1 ou gi0/2 c'est qu'lle se trouve en fait sur un autre switch interconnecté...  
 
Donc j'ai fait 2 array qui reprenne les interconnexion entre les array mais je voulais que le script se relance automatiquement dans un de ces cas :
 

Code :
  1. if ($result_port == '"Gi0/1"'){
  2. $ip_new_switch =  $liens_giga1[$ip_switch];
  3. $url = 'http://127.0.0.1/stage/stage2.php?ip_machine=$ip_machine&ip_switch=$ip_new_switch' ;
  4. header('location: " . $url . "');
  5. }


 
mais je n'y arrive pas ...  
 
ou y a til moyen de faire un refresh avec des variables en parametres?


Message édité par elmarokinho le 24-04-2008 à 14:32:53
n°1723717
sielfried
Posté le 24-04-2008 à 15:04:48  profilanswer
 

http://fr.php.net/manual/fr/language.types.string.php :spamafote:
 
Mais la première version de masterpsx devrait fonctionner (sauf qu'il faut une majuscule à "Location", encore que je sais pas si ça change quelque chose).
 
Il faut aussi qu'aucun affichage n'ait été effectué avant l'appel à header.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723729
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 15:08:57  profilanswer
 

Quel url tu obtiens après la redirection ?
et utilises plutot (guillemet simple ou double peut importe):

Code :
  1. $url = "http://127.0.0.1/stage/stage2.php?ip_machine=" . $ip_machine . "&ip_switch=" . $ip_new_switch;
  2. header("location: " . $url);


Sinon comme je te l'ai dis tu peut toujours utiliser une fonction javascript avec window.location, tu pourras même y rajouter un délai voir un message de redirection, ce genre de script, tu peut en trouver à la pelle sur le net.

mood
Publicité
Posté le 24-04-2008 à 15:08:57  profilanswer
 

n°1723733
elmarokinh​o
Posté le 24-04-2008 à 15:11:23  profilanswer
 

La premiere relance bien la page mais j'ai :  


 
les variables ne sont pas interprétées :??:
 


Message édité par elmarokinho le 24-04-2008 à 15:16:40
n°1723741
elmarokinh​o
Posté le 24-04-2008 à 15:15:24  profilanswer
 

sielfried a écrit :


 
Il faut aussi qu'aucun affichage n'ait été effectué avant l'appel à header.


 
oui je pense que de ce point de vue la c'est ok vu que sa marche parfaitement avec google.fr

n°1723743
sielfried
Posté le 24-04-2008 à 15:16:18  profilanswer
 

elmarokinho a écrit :


 
oui je pense que de ce point de vue la c'est ok vu que sa marche parfaitement avec google.fr


 
Et avec ton url il se passe quoi ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723749
elmarokinh​o
Posté le 24-04-2008 à 15:18:46  profilanswer
 

au lieu d'avoir un truc du type
htt p://http://127.0.0.1/stage/stage2.php?ip_machine=192.168.0.1&ip_switch=192.166.60.195

 

j"ai :

 

ht tp://127.0.0.1/stage/stage2.php?ip_machine=$ip_machine&ip_switch=$ip_new_switch

 


Message édité par elmarokinho le 24-04-2008 à 15:19:01
n°1723751
soju
One shot !
Posté le 24-04-2008 à 15:20:00  profilanswer
 

sielfried t'as déjà donné la réponse
avec les guillemets simples les variables ne sont pas interprétées

n°1723765
sielfried
Posté le 24-04-2008 à 15:24:40  profilanswer
 

soju a écrit :

sielfried t'as déjà donné la réponse
avec les guillemets simples les variables ne sont pas interprétées


 
Ça doit être masterpsx, j'avais même pas capté moi... ptain c'est les bases.
 
http://fr.php.net/manual/fr/language.types.string.php encore une fois.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723766
elmarokinh​o
Posté le 24-04-2008 à 15:25:00  profilanswer
 

masterpsx a écrit :

Essayes avec : header('Location: ' . $url);


 

sielfried a écrit :


Mais la première version de masterpsx devrait fonctionner


 
Mon code :  

Code :
  1. if ($result_port == '"Gi0/1"'){
  2. $ip_new_switch =  $liens_giga1[$ip_switch];
  3. $url = 'http://127.0.0.1/stage/stage2.php?ip_machine=$ip_machine&ip_switch=$ip_new_switch' ;
  4. header('Location: ' . $url);
  5. }


 
ça ne marche pas ...  :??:  

n°1723771
sielfried
Posté le 24-04-2008 à 15:27:56  profilanswer
 

Quelqu'un me rappelle le code du smiley du gars qui se tient la tête genre "mon dieu" ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1723778
elmarokinh​o
Posté le 24-04-2008 à 15:30:32  profilanswer
 

masterpsx a écrit :

Quel url tu obtiens après la redirection ?
et utilises plutot (guillemet simple ou double peut importe):

Code :
  1. $url = "http://127.0.0.1/stage/stage2.php?ip_machine=" . $ip_machine . "&ip_switch=" . $ip_new_switch;
  2. header("location: " . $url);


Sinon comme je te l'ai dis tu peut toujours utiliser une fonction javascript avec window.location, tu pourras même y rajouter un délai voir un message de redirection, ce genre de script, tu peut en trouver à la pelle sur le net.


 
 
Désolé ce message m'avais échpaé je ne l'avais pa vu  :heink:  
je vérifie tout de suite

n°1723781
elmarokinh​o
Posté le 24-04-2008 à 15:33:16  profilanswer
 

Oui parfait ça marche ! mais comment indiquer a l'utilisateur qu'il a été redirigé?  
par exemple afficher un messgae "redirection en cours" ?
 
et si je veux faire un simple <href> vers cette adresse ? je doit l'écrire comment ?

Message cité 1 fois
Message édité par elmarokinho le 24-04-2008 à 15:48:07
n°1723805
soju
One shot !
Posté le 24-04-2008 à 15:50:10  profilanswer
 

sielfried a écrit :

Quelqu'un me rappelle le code du smiley du gars qui se tient la tête genre "mon dieu" ?

je veux bien aussi pour le mettre dans mes persos ^^
 

masterpsx a écrit :

guillemet simple ou double peut importe

au contraire
 

elmarokinho a écrit :

mais comment indiquer a l'utilisateur qu'il a été redirigé?

le header location est une redirection "invisible", si tu veux faire autrement : soit avec js soit un meta refresh

n°1723828
elmarokinh​o
Posté le 24-04-2008 à 15:57:02  profilanswer
 

oui mais le méta refresh c'est dans le chamsp <head> , on peut le soummettre a des if ?

 

pour l'instant je mets un lien  <a href="<?php echo $url; ?>"> pour le faire a la main mais avec un refresh ce serait cool...

 

ah nan c'est bon parfait ...
vraiment désolé d'poser des question aussi betes mais je m'y mets doucement ;-)

 

merci a vous en tout cas !


Message édité par elmarokinho le 24-04-2008 à 16:03:19
n°1723854
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 16:08:33  profilanswer
 


soju a écrit :

au contraire
 

Que tu fasses echo "j'aime les " . $pattes; ou echo 'jaime les ' . $pattes; c'est pareil et c'est bon les deux, ce qui est faux c'est juste une variable entre guillemet (simple ou double encore une fois c'est pareil), elle sera considerée comme du texte.

n°1723861
soju
One shot !
Posté le 24-04-2008 à 16:12:37  profilanswer
 

masterpsx a écrit :

Que tu fasses echo "j'aime les " . $pattes; ou echo 'jaime les ' . $pattes; c'est pareil et c'est bon les deux, ce qui est faux c'est juste une variable entre guillemet (simple ou double encore une fois c'est pareil), elle sera considerée comme du texte.

:non: je t'invite à lire la doc : http://fr.php.net/manual/fr/language.types.string.php
comme dit sielfried, ça fait partie des bases
 

n°1723878
elmarokinh​o
Posté le 24-04-2008 à 16:27:08  profilanswer
 

encore et encore des problemes de mon coté lol ...
et là... jpense que c'est du haut niveau un peu lol  
 
je fais

Code :
  1. <META HTTP-EQUIV="Refresh" CONTENT="10; <?php $url ;?>">


 
avec le meme :  

Code :
  1. if ($result_port == '"Gi0/1"'){
  2. $ip_new_switch =  $liens_giga1[$ip_switch];
  3. }
  4. if ($result_port == '"Gi0/2"'){
  5. $ip_new_switch =  $liens_giga2[$ip_switch];
  6. }
  7. $url = "http://127.0.0.1/stage/stage2.php?ip_machine=" . $ip_machine . "&ip_switch=" . $ip_new_switch;


 
Mais ceci relance la page avec ip_switch=$ip_switch lui meme  
 
alors que une echo $url; me donne bien l'adresse que je veux ...
 
je pense que c'est parce que le script garde en mémoire ip_switch sans la mettre a jour dans la nouvelle page, nan?  
 
donc comment réinitialiser les variables juste avant le refresh ?  
 


Message édité par elmarokinho le 24-04-2008 à 16:30:09
n°1723904
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 16:51:51  profilanswer
 

soju a écrit :

:non: je t'invite à lire la doc : http://fr.php.net/manual/fr/language.types.string.php
comme dit sielfried, ça fait partie des bases
 


Je vois pas en quoi la doc contredis ce que j'ai dit mais bon, moi j'utilise que le guillemet double mais avec le simple ca marche aussi bien et ca reviens au même.
Si je met echo "$url"; ca marche pas mieux que echo '$url'; On ne peut pas mettre une variable entre guillement simple ou double sans des caractéres d'echappement.
 
 
Pour elmarokinho :

Code :
  1. <META HTTP-EQUIV="Refresh" CONTENT="10; <?php $url ;?>">


Ca ne veut rien dire, met plutôt :

Code :
  1. <META HTTP-EQUIV="Refresh" CONTENT="10; <?php echo $url; ?>">

Message cité 1 fois
Message édité par masterpsx le 24-04-2008 à 17:04:17
n°1723920
soju
One shot !
Posté le 24-04-2008 à 17:11:25  profilanswer
 

masterpsx a écrit :

On ne peut pas mettre une variable entre guillement simple ou double

:??: tu es sûr d'avoir lu le lien ?
 

Citation :

Le plus important pour les chaînes à guillemets doubles est le fait que les variables qui s'y trouvent seront remplacées par leur valeur. Voir la section sur le traitement des variables dans les chaînes pour plus de détails

.
 
donc si tu sors toujours tes variables des chaines, autant utiliser des guillemets simples, le parser php ne se fatiguera pas pour rien...

n°1723937
masterpsx
Aigloun foutougrafe
Posté le 24-04-2008 à 17:47:39  profilanswer
 

Ben je me retrouve sur la doc en anglais et n'ai pas eu le courage de tout lire :D mais j'ai vu vite fait par exemple ceci:

Code :
  1. // Works.
  2. echo "This works: " . $arr['foo'][3];
  3. // Works, outputs: This is fantastic
  4. echo "This is {$great}";
  5. echo "This is ${great}";


mais nul part :

Code :
  1. echo "This is $great";


 
Mais autant pour moi alors si c'est valable, j'ai toujours consideré ça comme une erreur mais je trouve ça quand même pas propre, les variables se retrouvent trop peu visible et noyées dans le texte.
 
Quand a changer ma façon de coder, c'est un peu tard maintenant mais de toute façon je n'ai que trés rarement besoin de faire ça, je ne sais même pas si dans la derniere application que j'ai faite et mise de côté depuis un bon moment, je l'ai fait ne serais-ce qu'une seule fois.

n°1724146
elmarokinh​o
Posté le 25-04-2008 à 09:05:49  profilanswer
 

En tout cas

 

echo $merci! ;

 



Message édité par elmarokinho le 25-04-2008 à 09:06:32
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fopen et Ressource id#

 

Sujets relatifs
fopen permissionfopen: fail to open stream - connection timeout
fopen avec une ressource web[VBA] Cours/Ressource VBA "correcte", ca existe ?
[VB]Compilation dynamique avec ressource intégréRessource id#3 / Undefined variable
pb fonction ajouter: ressource id#3 +...quel est la fonction fopen en C# ?
[stdio.h]2 programmes font un fopen en "w" sur un même fichier 
Plus de sujets relatifs à : fopen et Ressource id#


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)