Page 1 sur 1

Test la présence d'une URL

Posté : 07 nov. 2014, 12:45
par cris84
Bonjour,
je voudrais tester si une URL (comme celle-ci : http://www.youtube.com/watch?v=) soit présente quand le formulaire est posté.

J'avais fait ça :
<?php
 $sql  = "SELECT COUNT(*) AS nbr FROM video WHERE url = '$videourl'";
    $res  = mysql_query($sql);
    $alors  = mysql_fetch_assoc($res);
	
         $var = 'http://www.youtube.com/watch?v=xxxxxxxx';
if(strpos($var, 'http://www.youtube.com/watch?v=') !== FALSE)
{
 $msg = "L'URL que vous avez rentr&egrave; n'est pas valide...";
	  
	  
	  }
      elseif(!($alors['nbr'] == 0)){
        $msg = "Cette vid&eacute;o est d&eacute;j&agrave; list&eacute; !";
      }
	  else{

mysql_query("INSERT INTO video(url,title,description,author,thumb,duration) VALUES ('$videourl','$title','".mysql_real_escape_string($des)."','$author','$thumb','$duration')")or die(mysql_error());
$msg = 'Vid&eacute;o ajout&eacute;e';
}
?>
Mais ça ne marche pas : :(
Même si je rentre une url valide j'ai l'erreur "L'url que vous avez entré n'est pas valide..."

Merci de votre aide

Re: Test la présence d'une URL

Posté : 07 nov. 2014, 15:23
par ynx
Salut,

Concernant la condition suivante :
$var = 'http://www.youtube.com/watch?v=xxxxxxxx';
if(strpos($var, 'http://www.youtube.com/watch?v=') !== FALSE)
Cette condition peut se traduire en : est-ce que la chaine 'http://www.youtube.com/watch?v=' existe dans 'http://www.youtube.com/watch?v=xxxxxxxx' -> cette condition retourne toujours vrai

Est-ce normal que tu n'utilises aucune variables envoyés via ton formulaire ($_GET ou $_POST) ?

Re: Test la présence d'une URL

Posté : 07 nov. 2014, 20:15
par cris84
Bonsoir,
j'utilise $_POST pour mon formulaire mais je n'ai pas mis le code en entier.
Donc si je comprends bien il faut que les deux chaines soient égales : http://www.youtube.com/watch?v=
<?php

$var = 'http://www.youtube.com/watch?v=';
if(strpos($var, 'http://www.youtube.com/watch?v=') !== FALSE)

?>
Je précise que je voudrais contrôler cette URL mais bien sûr elle peut comporter des chiffres ou lettres après v=

Merci encore de votre aide... :|

Re: Test la présence d'une URL

Posté : 25 nov. 2014, 20:20
par cris84
Bonsoir,

voici la réponse sait-on jamais ça peut servir :
<?php

if(!preg_match('#https://www\.youtube\.com/watch\?v=[a-z0-9./_-]+#i',$videourl))
{

?>