System pour changer de video sans changer de page web
Résolu
firpic
-
firpic -
firpic -
A voir également:
- System pour changer de video sans changer de page web
- Changer dns - Guide
- Changer de carte graphique - Guide
- Changer clavier qwerty en azerty - Guide
- Changer extension fichier - Guide
- Changer wifi chromecast - Guide
5 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 583
bonjour,
as-tu examiné le code source HTML de ta page?
as-tu examiné le code source HTML de ta page?
Bonjour,
Tu ne peux pas mettre de PHP dans ton code JS ...
Le php est un code qui s'execute côté SERVEUR alors que le JS est un code qui s'execute du côté client ( dans le navigateur internet )
Donc deux possibilités :
Soit tu places tes boutons ( pour changer d'épisode ) dans une balise FORM et tu fais un SUBMIT pour pouvoir récupérer les données en PHP dans ta page ( ce qui implique un rechargement de la page à chaque fois que tu cliques sur un bouton )
Soit, tu utilises de l' AJAX pour pouvoir faire le "lien" entre le Javascript et le code PHP.
( là, ça sera sans avoir à recharger la page à chaque clic )
Et pour finir ... il semble que tu n'aiens pas mis de balise <video> dans ta page...
Sans ça.. rien ne s'affichera !
Tu ne peux pas mettre de PHP dans ton code JS ...
Le php est un code qui s'execute côté SERVEUR alors que le JS est un code qui s'execute du côté client ( dans le navigateur internet )
Donc deux possibilités :
Soit tu places tes boutons ( pour changer d'épisode ) dans une balise FORM et tu fais un SUBMIT pour pouvoir récupérer les données en PHP dans ta page ( ce qui implique un rechargement de la page à chaque fois que tu cliques sur un bouton )
Soit, tu utilises de l' AJAX pour pouvoir faire le "lien" entre le Javascript et le code PHP.
( là, ça sera sans avoir à recharger la page à chaque clic )
Et pour finir ... il semble que tu n'aiens pas mis de balise <video> dans ta page...
Sans ça.. rien ne s'affichera !
Plusieurs soucis dans ton code...
Pourquoi écrire trois fois la même requête ?
Ne rien placer ( code html, js, css ) en dehors des balises <head></head> et <body></body>
Placer le maximum de code php AVANT le code html
Il faut que tu envoies, en POST, le numéro de la vidéo à afficher
En gros, un truc du genre
Pour tes prochains codes, je t'invite à lire ( et à appliqer) les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et là : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Pourquoi écrire trois fois la même requête ?
Ne rien placer ( code html, js, css ) en dehors des balises <head></head> et <body></body>
Placer le maximum de code php AVANT le code html
Il faut que tu envoies, en POST, le numéro de la vidéo à afficher
En gros, un truc du genre
<?php //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd : require_once('../../configepi.php'); //récupération Propre des variables AVANT de les utiliser $nb = !empty($_POST['numero']) ? $_POST['numero'] : 1; if(isset($_POST['subP'])){ $np--; sleep(5); } if(isset($_POST['subS'])){ $np++; sleep(5); } //préparation de la requête et des variables $sql = "SELECT title, lien FROM `OnePiece` WHERE episode=:np "; $datas = array(':np'=>$np); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <?php include('../lm1serie.php'); // je ne sais pas ce qu'il y a dans ce script... pas sur qu'il ai sa place ici ! ?> </head> <body style="background-color: #373939;"> <?php include('../et1serie.php'); ?> <div class="vide"> <div> <form action="https://streawer.000webhostapp.com/serie/OnePiece/OnePiece.php" method="POST"> <input type="hidden" value="<?php echo $np;?>" name="numero"> <input type="submit" value="Précedent" name="subP" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> <input type="submit" value="Suivant" name="subS" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> </form> <?php echo $titleR; echo $linkR; ?> </div> </div> <?php include('../../footer.php'); ?> </body> </html>
Pour tes prochains codes, je t'invite à lire ( et à appliqer) les conseils donnés ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et là : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
J'ai oublier de preciser que j'ai un bouton suivant quie ajout 1 a la variale $np pour changr d'episode et un autre bouton qui enleve 1 a la variable
J'ai change mon code php, cela fonctionne mais il affiche "Array ([0] => Array ([title] => "et )) "Tableau ([0] => Tableau ([lien] =>", je ne comprend pas pourquoi.
( https://streawer.000webhostapp.com/serie/OnePiece/OnePiece.php)
et voici le nouveau code:
et la celui pour ce connecter a la DB:
( https://streawer.000webhostapp.com/serie/OnePiece/OnePiece.php)
et voici le nouveau code:
<!DOCTYPE html> <html lang="en"> <head> <?php include('../lm1serie.php');?> </head> <body style="background-color: #373939;"> <!-- En-tête de la page--> <script> $(document).keydown(function(e){ if(e.which === 123){ return false; } }); </script> <div class="entete" onclick="window.location.reload()"> <img src="../../img/logo.png" id="logo" alt="Logo Streawer"/> <a href="../../main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a> <div class="info"> </div> </div> <?php require_once('../../configepi.php'); $np = 1; $title = $conn->prepare("SELECT title FROM `OnePiece` WHERE episode=$np "); $link = $conn->prepare("SELECT lien FROM `OnePiece` WHERE episode=$np "); $title->execute(); $link->execute(); $titleR = $title->fetchAll(PDO::FETCH_ASSOC); $linkR = $link->fetchAll(PDO::FETCH_ASSOC); ?> <div class="vide"> <div> <input type="submit" value="Précedent" name="subP"> <input type="submit" value="Suivant" name="subS"> <?php print_r($titleR); print_r($linkR); ?> </div> </div> </body> <?php include('../../footer.php'); ?> </html>
et la celui pour ce connecter a la DB:
try{ $conn = new PDO($dnspdo, $user, $pass); //On définit le mode d'erreur de PDO sur Exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Connexion réussie'; } catch(PDOException $e){ echo "Erreur : " . $e->getMessage(); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voila maintenant que grâce a vous je peux afficher une vidéo, j'ai créer 2 input(SUBMIT), j'ai regarder des tuto sur internet pour faire que quand l'input est clique cela exécute du code mais voila, quand je clique sur un bouton il me redirige vers une autre page alors que je ne veux pas
page avec:
et voici ce qui me met dans l(url):
je ne comprendras pourquoi il me redirige alors que sur le tuto, l'input ne redirige pas mais exécute du code.
voici le code de mes input et du code a exécuter :
Je vous remercie encore pour votre aide et pour le temps que vous mettiez a m'aidé.
page avec:
https://streawer.000webhostapp.com/serie/OnePiece/OnePiece.php
et voici ce qui me met dans l(url):
https://streawer.000webhostapp.com/serie/OnePiece/post?subS=Suivant.
je ne comprendras pourquoi il me redirige alors que sur le tuto, l'input ne redirige pas mais exécute du code.
voici le code de mes input et du code a exécuter :
if(isset($_POST['subP'])){ $np++; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; } if(isset($_POST['subP'])){ $np--; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; } ?> <div class="vide"> <div> <form action="post"> <input type="submit" value="Précedent" name="subP" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> <input type="submit" value="Suivant" name="subS" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> </form> <?php echo $titleR; echo $linkR; ?> </div> </div>
Je vous remercie encore pour votre aide et pour le temps que vous mettiez a m'aidé.
je ne veut pas que quand je clique sur le bouton je sois redirigée vers une url. J'ai essayer de faire un bouton qui quand on clique dessus ajoute un a une variable et faire une nouvelle requête et rafraichis la page pour changer de vidéo. Comme pour les formulaire sauf que cela fonctionne pas.
et je me suis trompe j'ai POST dans action au lieu de méthode
Je voudrais c'est que quand le input Suivant ou Précédant
soit quand suivant est appuyer on exécute ceci:
soit quand precedant est appuyer on exxecute cela :
et je me suis trompe j'ai POST dans action au lieu de méthode
Je voudrais c'est que quand le input Suivant ou Précédant
<form action="" method="POST"> <input type="submit" value="Précedent" name="subP" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> <input type="submit" value="Suivant" name="subS" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> </form>
soit quand suivant est appuyer on exécute ceci:
if(isset($_POST['subP'])){ $np++; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; }
soit quand precedant est appuyer on exxecute cela :
if(isset($_POST['subP'])){ $np--; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; }
le bouton precedant est name=subP et suivant est name=subS.
et Voici mon code
et Voici mon code
<!DOCTYPE html> <html lang="en"> <head> <?php include('../lm1serie.php');?> </head> <body style="background-color: #373939;"> <?php include('../et1serie.php'); require_once('../../configepi.php'); $np = 1; $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; //code php btn if(isset($_POST['subP'])){ $np++; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; } if(isset($_POST['subP'])){ $np--; sleep(5); $req = $conn->prepare("SELECT title, lien FROM `OnePiece` WHERE episode=$np "); $req->execute(); $res=$req->fetch(); $titleR = $res['title']; $linkR = $res['lien']; } ?> <div class="vide"> <div> <form action="https://streawer.000webhostapp.com/serie/OnePiece/OnePiece.php" method="POST"> <input type="submit" value="Précedent" name="subP" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> <input type="submit" value="Suivant" name="subS" class="sub" style="font-size: 25px; background-color: #09816c; color: #4DB89A;"> </form> <?php echo $titleR; echo $linkR; ?> </div> </div> </body> <?php include('../../footer.php'); ?> </html>
mais je ne comprend pas ce que vous voulez dire dans examiné le code source HTML
ce n'est qu'en examinant ce code HTML que tu peux déterminer si le programme php fait ce que tu souhaites.
tu peux demander au navigateur de t'afficher le code source de la page, souvent en cliquant avec le bouton de droite dans la page.
je lui demande e me recuper le titre dans la variable $title et url de l'epiosde dans la variable $ lien avec comme condition que ce soit celui de l'episode choisi dans la colonne epsiode.
et cela ne fonctionne pas, dans le code source ni le titre, ni le lien n'est ecrit dedans.
ton programme php est incorrect, est-ce ton premier exercice?
voici le code source de ma page: