Modification URL + Zone de texte

Résolu/Fermé
Zozovinho - 22 juil. 2020 à 22:07
 Zozovinho - 24 juil. 2020 à 08:50
Bonsoir,

Serait il possible de modifier une URL selon les informations que nous mettons dans une zone de texte ? Je m'explique :

Je voudrais que des utilisateurs puissent renseigner le numéro de série de leur ordinateur et ensuite être redirigé vers le site DELL.

Exemple :

Dans la zone de texte je mets mon service TAG qui devient une $variable
URL = https://www.dell.com/support/home/fr-fr/product-support/servicetag/$variable

Merci d'avance pour votre aide.
Bonne soirée
A voir également:

6 réponses

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
Modifié le 23 juil. 2020 à 08:31
Bonjour,

C'est faisable en PHP en attribuant le numéro de série comme valeur de ta variable, en utilisant un formulaire à placer dans une page avec l'extension php, pour cet exemple dell.php :


<?php
$variable = empty($_GET['variable']) ? '' : $_GET['variable'];

if ($variable != "")
{
header("location: https://www.dell.com/support/home/fr-fr/product-support/servicetag/$variable");
}

else {
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dell</title>
</head>
<body>
<div style="text-align: center;">
<h3>Numéro de série Dell</h3>
<form action="dell.php" method="get" name="dell_support">
<p><input type="text" name="variable" maxlength="20" /></p>
<p><input type="submit" value="OK" /></p>
</form>
</div>
</body>
</html> 
<?php
}
?> 


Si la variable est vide, le formulaire de saisie s'affiche. Quand la variable est renseignée avec un numéro de série, le visiteur est redirigé vers la page support de Dell correspondant au numéro de série.

0
Bonjour Dugenou,

Merci beaucoup ça fonctionne parfaitement. Merci également pour ta réactivité. Je ne m'y connais pas trop en PHP donc c'était galère pour moi.

Je te souhaite une bonne journée.
Enzo
0
Re-bonjour Dugenou,

Je suis entrain d'essayer d'intégrer cette page sur un page.php de mon thème Wordpress. Donc tout est bien intégrer j'ai tout ce qu'il me faut sauf que lorsque je fais une recherche, il ne me redirige pas vers l'URL renseigner dans le code mais : http://localhost/test-dell/dell.php?variable=$variable

Voici le code de la page :

<?php
/**
Template name: Garantie DELL
 */

get_header(); 
?>



	<div id="left-content">

		<?php  //GET THEME HEADER CONTENT

		woffice_title(get_the_title()); ?> 	
			
		<?php // Start the Loop.
		while ( have_posts() ) : the_post(); ?>

		<!-- START THE CONTENT CONTAINER -->
		<div id="content-container">

			<!-- START CONTENT -->
			<div id="content">
				<?php
$variable = empty($_GET['variable']) ? '' : $_GET['variable'];

if ($variable != "")
{
header("location: https://www.dell.com/support/home/fr-fr/product-support/servicetag/$variable");
}

else {
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dell</title>
</head>
<body>
<div style="text-align: center;">
<h3>Numéro de série Dell</h3>
<form action="dell.php" method="get" name="dell_support">
<p><input type="text" name="variable" maxlength="20" /></p>
<p><input type="submit" value="OK" /></p>
</form>
</div>
</body>
</html> 
<?php
}
?> 
			</div>
				
		</div><!-- END #content-container -->
		
		<?php woffice_scroll_top(); ?>

	</div><!-- END #left-content -->

<?php // END THE LOOP 
endwhile; ?>

<?php 
get_footer();


Désolé de revenir vers toi. Il y a peut être quelque chose de logique pour toi mais pas pour moi :(.

Merci d'avance et bonne aprèm.
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
23 juil. 2020 à 15:21
Je n'avais pas vu que tu étais sous WordPress, je ne sais pas si mon code est compatible.

Je ne connais pas les exigences de WordPress pour intégrer du PHP.

Avec WordPress, la page dans laquelle tu intègres ce code ne se nomme probablement pas dell.php

Essaie en modifiant le formulaire :

<form action="#" method="get" name="dell_support">

Si ça ne règle pas ton problème, je ne saurais pas quoi te dire d'autre.
0
Je ne l'avais effectivement pas précisé mais tu m'as déjà donner un bon début. Dans tous les cas encore merci à toi.

Bonne continuation
0

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

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 juil. 2020 à 15:54
Bonjour,

Plusieurs soucis dans ta façon d'intégrer le code qui t'a été donné
1 - Vu que tu es dans un wordpress .. tu n'as pas besoin de remettre toute la structure de la page html.
Juste le code du formulaire suffirait.

2 - L'instruction
 header( 'location...')
ne doit pas être placée après du code html....
Il fautdrait la mettre ( et la récupération de la variable $_GET avec ) au tout début de ton fichier php.


3 - Un code Javascript serait plus simple à mettre en place ( et éviterait d'éventuelles erreurs php du point N°2 )
Un truc du genre

Ton formulaire devient
<form  name="dell_support">
  <p><input type="text" id="variable" maxlength="20" /></p>
  <p><input type="button" value="OK" onclick="goToDell();" /></p>
</form>


et en dessous,
<script type="text/javascript">
function goToDell(){
  var variable = document.getElementById('variable').value;
  var url = "https://www.dell.com/support/home/fr-fr/product-support/servicetag/"+variable;
  window.open(url, '_blank'); // ouverture d'une nouvelle fenetre
  // window.location.replace(url); //redirection si tu préfères
}
</script>

0
Bonjour Jordan,

Merci d'être intervenu :). Effectivement tout fonctionne parfaitement. Merci à tous les deux pour votre aide.

Bonne journée à vous.
0