Apres modification mon code le suivant;
neanmoins je ne peut toujours pas vérifier l'url et évidement inserer en base de données la redirection se fait immediatement avant la partie execution de la fonction IsValidateFeed();
j'ai fait un var_dump() / print_r();
voici le résultat; A mon sens la requête sql associé est bonne
Voici le code
<?php
/*
Formulaire Traitement
*/
try{
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/*
** Vérifier que l'URL saisie retourne un flux RSS
*/
function IsValidFeed($sURL) {
$sURL = 'http://feedvalidator.org/check.cgi?url=' . urlencode($sURL);
$sPage = file_get_contents($sURL);
if (strstr($sPage, 'This is a valid RSS feed.')) {
return TRUE;
}
return FALSE;
}
if( isset($_POST) && !empty($_POST)){
$url = preg_replace('#^A-Za-z0-9]#i', '',$_POST'url_site']);
$nom = preg_replace('#^A-Za-z0-9]#i', '',$_POST'nom']);
$categorie = preg_replace('#^A-Za-z0-9]#i', '',$_POST'categorie']);
//Verif avant INSERT
$sql="SELECT nom, url FROM site WHERE nom ='" .$_POST'nom']."' AND url = '".$_POST'url_site']."' ";
$result=$connexion->query($sql);
if($result != null){
header("Location:index.php?error");
}else{
//Execution fonction
$sUrl='';
$sUrl = preg_replace('#^A-Za-z0-9]#i', '',$_POST'url_site']);
if(validerRSS($sUrl) == true){
$sql="INSERT INTO site VALUES ('', '$nom', '$categorie', '$url')";
$result = $connexion->prepare($sql);
$result->execute();
header("Location:index.php");
}
}
}//Fin Si $_POST
}catch(PDOException $e) //message d'erreur
{
echo $e->getMessage();
}
?>