Exécuter un lien via un SELECT dans un PHP
Résolu/Fermé
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
-
1 févr. 2018 à 21:50
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 6 févr. 2018 à 21:50
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 6 févr. 2018 à 21:50
A voir également:
- Exécuter un lien via un SELECT dans un PHP
- Créer un lien pour partager des photos - Guide
- Verifier un lien - Guide
- Lien url - Guide
- J'ai cliqué sur un lien douteux android - Forum Virus
3 réponses
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
1 févr. 2018 à 23:29
1 févr. 2018 à 23:29
Bonjour,
Que veux tu dire par exécuter ? Tu veux dire ouvrir la page vers laquelle pointe ton lien ??
Dans ce cas.. une simple redirection suffirait
Par contre.... Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
À la place, tu peux (<gras DOIS </gras> ) utiliser l'extension MySQLi ou l'extension PDO_MySQL
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Si tu choisis PDO, pense à activer la gestion des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Que veux tu dire par exécuter ? Tu veux dire ouvrir la page vers laquelle pointe ton lien ??
Dans ce cas.. une simple redirection suffirait
header('location :'.$tonlien); exit();
Par contre.... Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
À la place, tu peux (<gras DOIS </gras> ) utiliser l'extension MySQLi ou l'extension PDO_MySQL
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Si tu choisis PDO, pense à activer la gestion des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
Modifié le 4 févr. 2018 à 21:43
Modifié le 4 févr. 2018 à 21:43
ceci suffit peut-être:
$url= ''; // à remplacer par le résultat du query file_get_contents($url);
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
4 févr. 2018 à 22:13
4 févr. 2018 à 22:13
J'ai essayé mais j'ai le message d'erreur ci-dessous :
Warning: file_get_contents() expects parameter 1 to be a valid path, resource given in .....Resource id #4
Voici ce que j'ai mis :
//Requête pour exécution du lien
$url= mysql_query("SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`");
file_get_contents($url);
Qu'en penses-tu ?
Warning: file_get_contents() expects parameter 1 to be a valid path, resource given in .....Resource id #4
Voici ce que j'ai mis :
//Requête pour exécution du lien
$url= mysql_query("SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`");
file_get_contents($url);
Qu'en penses-tu ?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
4 févr. 2018 à 23:03
4 févr. 2018 à 23:03
fais d'abord les changements recommandés par jordane45 en #1.
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
Modifié le 4 févr. 2018 à 23:08
Modifié le 4 févr. 2018 à 23:08
J’ai répondu à Jordane45 que ça me dirige vers un lien externe.
Voici ce que je lui ai répondu :
Merci pour ta patience.
J'ai mis :
//Requête pour exécution du lien
$url= = mysql_query("SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`");
header('location :'.$url);
exit();
Et le lien pointe sur mon site. Alors que le lien est un site externe.
De plus mon lien est le résultat de :
SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`
Voici ce que je lui ai répondu :
Merci pour ta patience.
J'ai mis :
//Requête pour exécution du lien
$url= = mysql_query("SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`");
header('location :'.$url);
exit();
Et le lien pointe sur mon site. Alors que le lien est un site externe.
De plus mon lien est le résultat de :
SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
4 févr. 2018 à 23:12
4 févr. 2018 à 23:12
tu peux (DOIS) utiliser l'extension MySQLi ou l'extension PDO_MySQL
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
>
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
5 févr. 2018 à 00:23
5 févr. 2018 à 00:23
Que tu suives mes recomandations concernant l'utilisation obsolète de l'extension mysql (pour rappel A LIRE
Tu dois faire un FETCH de la requête...
pour l'instant... ta variable $url ne contient pas la données que tu penses....
Tu dois faire un FETCH de la requête...
pour l'instant... ta variable $url ne contient pas la données que tu penses....
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
Modifié le 6 févr. 2018 à 20:11
Modifié le 6 févr. 2018 à 20:11
Bonjour Jordan45
J'ai effectué les modifications que tu as demandé.
Mon lien se dirige vers une adresse interne de mon site (qui n'existe pas) alors que le résultat de mon SELECT est une adresse externe.
Quelles sont tes suggestions de modification dans ce PHP stp ?
Merci pour ton aide.
J'ai effectué les modifications que tu as demandé.
<?php
$hostname='***********';
$username='***********';
$password='***********';
$database='***********';
$link = mysqli_connect($hostname,$username,$password,$database);
if (!$link) {
die( 'Erreur de connexion (' . mysqli_connect_error() . ')' );
}
echo ' <br /> Connecté avec succès à ' . mysqli_get_host_info($link) . '<br />' ;
$lien = "'SELECT CONCAT('https://aaaaaaaaaaaaaaa.com',`Commande`) FROM openorder";
header('location :'.$lien);
exit();
mysqli_query ($link,$lien);
?>
Mon lien se dirige vers une adresse interne de mon site (qui n'existe pas) alors que le résultat de mon SELECT est une adresse externe.
Quelles sont tes suggestions de modification dans ce PHP stp ?
Merci pour ton aide.
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 704
6 févr. 2018 à 20:38
6 févr. 2018 à 20:38
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
6 févr. 2018 à 20:50
6 févr. 2018 à 20:50
au lieu de:
peut-être plutôt:
$lien = "'SELECT CONCAT('https://aaaaaaaaaaaaaaa.com',`Commande`) FROM openorder"; header('location :'.$lien); exit(); mysqli_query ($link,$lien);
peut-être plutôt:
$sql = "'SELECT CONCAT('https://aaaaaaaaaaaaaaa.com',`Commande`) FROM openorder"; if ($selection = mysqli_query ($link,$sql)) { $reponse= mysqli_fetch_row($selection); $url=$reponse[0]; file_get_contents($url); };
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
6 févr. 2018 à 21:11
6 févr. 2018 à 21:11
Merci pour ton retour, mais il ne se passe rien.
<?php
$hostname='************';
$username='************';
$password='************';
$database='************';
$link = mysqli_connect($hostname,$username,$password,$database);
if (!$link) {
die( 'Erreur de connexion (' . mysqli_connect_error() . ')' );
}
echo ' <br /> Connecté avec succès à ' . mysqli_get_host_info($link) . '<br />' ;
$sql = "SELECT CONCAT('https://aaaaaaaaaaaaaaa.com',`Commande`) FROM openorder";
if ($selection = mysqli_query ($link,$sql)) {
$reponse= mysqli_fetch_row($selection);
$url=$reponse[0];
file_get_contents($url);
};
mysqli_close($link);
?>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
>
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
Modifié le 6 févr. 2018 à 22:06
Modifié le 6 févr. 2018 à 22:06
que devrait-il se passer?
peut-être en remplacant
par
peut-être en remplacant
if ($selection = mysqli_query ($link,$sql)) { $reponse= mysqli_fetch_row($selection); $url=$reponse[0]; file_get_contents($url); };
par
if ($selection = mysqli_query ($link,$sql)) { $reponse= mysqli_fetch_row($selection); $url=$reponse[0]; file_get_contents($url); echo "url = ". $url; } else { echo "pas d'url, sql = " . $sql; } ;
mikesunshine59
Messages postés
73
Date d'inscription
lundi 22 janvier 2018
Statut
Membre
Dernière intervention
24 février 2018
6 févr. 2018 à 21:03
6 févr. 2018 à 21:03
Merci pour ta patience jordan45
Voici mon code :
Je suis content car cela génère la bonne adresse.
J'ai essayé d'ajouter : file_get_contents($result); mais cela ne fonctionne pas.
Sais-tu ce qu'il faut ajouter pour exécuter le lien stp ?
Encore merci pour ton aide.
Voici mon code :
<?php
$con=mysqli_connect("***********","***********","***********","***********");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT CONCAT('https://aaaaaaaaaaaaaaa.com',`Commande`) FROM openorder";
$result=mysqli_query($con,$sql);
// Exécution de l'adresse
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf("Select a retourné %d lignes.\n", mysqli_num_rows($result));
// Free result set
mysqli_free_result($result);
mysqli_close($con);
?>
Je suis content car cela génère la bonne adresse.
J'ai essayé d'ajouter : file_get_contents($result); mais cela ne fonctionne pas.
Sais-tu ce qu'il faut ajouter pour exécuter le lien stp ?
Encore merci pour ton aide.
4 févr. 2018 à 21:26
Le résultat de la requete est un lien externe et c'est ce lien que je souhaite activer en php. Ce lien externe permet de désactiver une option.
Merci d'avance pour ton aide.
4 févr. 2018 à 21:42
4 févr. 2018 à 22:17
J'ai mis :
//Requête pour exécution du lien
$url= = mysql_query("SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`");
header('location :'.$url);
exit();
Et le lien pointe sur mon site. Alors que le lien est un site externe.
De plus mon lien est le résultat de :
SELECT CONCAT('https://aaaaaaaaaaaaaaa',`Commande`) FROM `openorder`
6 févr. 2018 à 20:00
J'ai effectué les modifications que tu as demandé.
Mon lien se dirige vers une adresse interne de mon site (qui n'existe pas) alors que le résultat de mon SELECT est une adresse externe.
Quelles sont tes suggestions de modification dans ce PHP stp ?