[RESOLU] feed rss et base de donné

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] feed rss et base de donné

Re: feed rss et base de donné

par cracktor » 02 déc. 2013, 23:42

Bon je peux dire que le problème est résolu merci Yann!

Re: feed rss et base de donné

par yann18 » 30 nov. 2013, 22:16

je suis désolé j'avais oublié l'égalité ,j'aurai dû écrire ceci:
[javascript]
data: "rss_link ="+ $('#rss_link').val(),
[/javascript]

la version corrigée:
[javascript]


$(document).ready(function() {
$('#formrss').on('submit', function(e){
$.ajax({
type: 'POST',
url: "insertrss.php",
data: "rss_link ="+ $('#rss_link').val(),
dataType: 'text',
success:function(reponse){
$('#formrss').after('<p>'+reponse+'</response>'); //reponse du seveur si succès
},
error: function() {alert('Erreur serveur');} //reponse du seveur si échec
});

e.preventDefault();
});//submit
});

[/javascript]

la requête ajax ne transmettait pas la donnée du formulaire.Pour s'en prémunir il toujours effectuer un contrôle sur les données avant qu'elles ne soient insérées.
<?php
session_start();
include('dbconnector.php');

if(!empty($_POST['rss_link'] ) ){

$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
$nb = $resultats->execute(array($_POST['rss_link'],  $_SESSION['emp_id']) );

if($nb === TRUE)
  echo "<p> flux inserés avec succès </p>";
else
    echo "Impossible d'inserer le flux";
}else
echo " le champ rss_link ne peut être vide";

Re: feed rss et base de donné

par cracktor » 30 nov. 2013, 21:15

Merci encore Yann pour ton coup de main. On ,n'y est presque :D bon voilà j'ai fait ce que tu m'as dit copier collé. et cela m'a sorti cette erreur:
Notice: Undefined index: rss_link in /Applications/MAMP/htdocs/crousset/insertrss.php on line 5

Notice: Undefined variable: _SESSION in /Applications/MAMP/htdocs/crousset/insertrss.php on line 5

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'rss_link' cannot be null' in /Applications/MAMP/htdocs/crousset/insertrss.php:5 Stack trace: #0 /Applications/MAMP/htdocs/crousset/insertrss.php(5): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/crousset/insertrss.php on line 5


Donc je me dis y dois manqué un session_start() dans insertrss.php donc je vais l'ajouter, mais je ne sais pas du tout si le problème viens vraiment de la, mais je teste. Suis-je sur la bonne voie?
session_start();
include('dbconnector.php');



$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
$nb = $resultats->execute(array($_POST['rss_link'],  $_SESSION['emp_id']) );

if($nb === TRUE)
  echo "<p> flux inserés avec succès </p>";
else
    echo "Impossible d'inserer le flux";
Ensuite je me retrouve avec cette erreur:
Notice: Undefined index: rss_link in /Applications/MAMP/htdocs/crousset/insertrss.php on line 8

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'rss_link' cannot be null' in /Applications/MAMP/htdocs/crousset/insertrss.php:8 Stack trace: #0 /Applications/MAMP/htdocs/crousset/insertrss.php(8): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/crousset/insertrss.php on line 8
Ici je vois qu'il essaie de mettre rss_link en NULL mais c'est normalement le rss_id qui est auto incrément qui devrait s'insérer dans la BD en NULL. Alors je me dis qu'il manque une data dans ma requête ajax. j'essaye donc de l'ajouter. J'ai testé avec Get et POST mais l'erreur reste :(
<?php
session_start();
include('dbconnector.php');

$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
$nb = $resultats->execute(array($_POST['rss_link'],  $_SESSION['emp_id']) );

if($nb === TRUE)
  echo "<p> flux inserés avec succès </p>";
else
    echo "Impossible d'inserer le flux";
?>
[javascript] <script>
$(document).ready(function() {
$('#formrss').on('submit', function(e){
$.ajax({
type: 'POST',
url: "insertrss.php",
data: "rss_id"+ $('').val(),
"rss_link"+ $('#rss_link').val(),
dataType: 'text',
success:function(reponse){
$('#formrss').after('<p>'+reponse+'</response>'); //reponse du seveur si succès
},
error: function() {alert('Erreur serveur');} //reponse du seveur si échec
});

e.preventDefault();
});//submit
});[/javascript]

Suite a cella j’ai seulement une erreur dans la console : Unexpected token +.
Ses modifications ont elles réellement débogué mon code où je m'enfonce dans la boue?

Encore merci pour le moment je suis débutant, mais un jour lorsque je me serai amélioré je donnerai au suivant.
Encore merci:)

Re: feed rss et base de donné

par yann18 » 30 nov. 2013, 13:38

tu ne pas peux transmettre les données avec GET dans la requête ajax et vouloir les récupérer, dans le script de traitement php, avec POST. Soit POST côté ajax et POST côté php , soit GET côté ajax et GET en PHP:
//insertrss.php
<?php
include('dbconnector.php');

$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
$nb = $resultats->execute(array($_POST['rss_link'],  $_SESSION['emp_id']) );

if($nb === TRUE)
  echo "<p> flux inserés avec succès </p>";
else
    echo "Impossible d'inserer le flux";
?>
[javascript]

$(document).ready(function() {
$('#formrss').on('submit', function(e){
$.ajax({
type: 'POST',
url: "insertrss.php",
data: "rss_link"+ $('#rss_link').val(),
dataType: 'text',
success:function(reponse){
$('#formrss').after('<p>'+reponse+'</response>'); //reponse du seveur si succès
},
error: function() {alert('Erreur serveur');} //reponse du seveur si échec
});

e.preventDefault();
});//submit
});


[/javascript]

Re: feed rss et base de donné

par cracktor » 29 nov. 2013, 20:21

Bon voilà j'ai réussi a faire l’ajout de mon flux RSS , mais je viens de me rendre compte que la requête devait être en apax afin que la page ne cette recharge pas #-o j’ai donc déplacé ma requête SQL dans un fichier insertrss.php que voici:
<?php
include('dbconnector.php');

$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
$nb = $resultats->execute(array($_POST['rss_link'],
								$_SESSION['emp_id'])
						  );

?>
Et dans la page ou ce trouve le bouton ajouter RSS je mis la requête ajax suivante:
[javascript] $(document).ready(function(){
$('#formrss').on('submit', function(e){
e.preventDefault();
rss_link = $('#rss_link');

//requête ajax pour l'insertion dans la BD
$.ajax({
type: "GET",
url: "insertrss.php",
dataType: "html",
data: {
rss_link: rss_link.val(),
},

});
});

});[/javascript]

Le problème viens probablement du fait que dans la requête ajax je ne lui passe pas la variable session et je ne trouve pas comment faire un internet quelqu'un a une idée? Il n'y a pas de message d'erreur, mais la page ne recharge plus quand le clic sur LE bouton.... c'est bien mais les donnée ne s'insert pas.

Re: feed rss et base de donné

par moogli » 26 nov. 2013, 01:30

il faut toujours partir du principe que php à raison et toi tors même si cela ne fait pas toujours plaisir ;)

et la pour le coup effectivement la variable $data n'existe pas.
la seconde erreur indique que tu veux une propriété objet de quelque qui n'en est pas un (c'est null ;)).

la il te manque le fetch ...

@+

Re: feed rss et base de donné

par cracktor » 26 nov. 2013, 00:20

Oui :) en faite je viens de mettre en place le système de connexions correctement. Avant il ne marchait pas à 100% .
Je vais faire un petit résumé le voici:

Donc comme tu m'as dit de faire j’ai rencontré mon prof aujourd'hui et il m’a dit que je ne devais pas générer un flux RSS, mais bien faire afficher un flux RSS d'un autre site. J'ai aussi appris qu' afin de parvenir a l'affichage du flux RSS je devais parser le fichier XML. Pour ce faire j'ai utilisé magpierss (http://magpierss.sourceforge.net/) et une fonction que j'ai trouvée dans un tutu ( je me souviens plus ou :? ) la voici:
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');

// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");

function FeedParser($url_feed, $nb_items_affiches=3)
{
  // lecture du fichier distant (flux XML)
  $rss = fetch_rss($url_feed);

  // si la lecture s'est bien passee,
  // on lit les elements
  if (is_array($rss->items))
  {
   // on ne recupere que les elements les + recents
   $items = array_slice($rss->items, 0, $nb_items_affiches);

   // debut de la liste
   // (vous pouvez indiquer un style CSS
   // pour la formater)
   $html = "<ul>\n";

   // boucle sur tous les elements
   foreach ($items as $item)
   {
    $html .= "<li>";
    $html .= "<a href=\"".$item['link']."\">".$item['title']."</a>";
    $html .= "</li>\n";
   }
   $html .= "</ul>\n";
 }

 // retourne le code HTML a inclure dans la page
 return $html;
}
?>
Ensuite pour afficher il ne reste plus qu'a appelé la fonction avec l'URL du flux RSS en paramètre. Mais ce n'est pas fini, maintenant que j'ai réussi a faire afficher les RSS avec l'URL en paramètre je dois faire en sorte que le l'application prenne l'URL dans ma base de données... Bref voilà ou j'en suis:

index.php voici ma page de login:
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
session_start();

$message = '';

if (isset($_POST['envoyer'])){

	include('dbconnector.php');

	$resultats = $conn->prepare("select count(*) as nb, emp_id from employes where emp_courriel = ? and emp_pass  = sha1(?)");
	$resultats->execute(array($_POST['emp_courriel'], $_POST['emp_pass']));
	$data = $resultats->fetch(PDO::FETCH_OBJ);
	if ($data->nb > 0){
		$_SESSION['emp_id'] = $data->emp_id;
		header('Location: portail.php');
		
	}
	else{
		$message = 'Mauvaise combinaison de nom d\'utilisateur et de mot de passe';
	}
	
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script>
function message(frm){
	retour = true;
	// si le nom et le mot de passe sont vides
	if (frm.emp_courriel.value == "" && frm.emp_pass.value == ""){
		document.getElementById("resultat").innerHTML = 
		"Vous devez entrer le nom d'utilisateur et le mot de passe";
		retour = false;
	}
	// sinon si le nom est vide (et donc le mot de passe est rempli)
	else if(frm.emp_courriel.value == ""){
		document.getElementById("resultat").innerHTML = "Vous devez entrer le nom d'utilisateur";
		retour = false;
	}
	// sinon si le mot de passe est vide (et donc le nom est rempli)
	else if(frm.emp_pass.value == ""){
		document.getElementById("resultat").innerHTML = "Vous devez entrer le mot de passe";
		retour = false;
	}
	// sinon : il ne reste qu'un seul cas possible, les deux champs sont remplis
	else {
		document.getElementById("resultat").innerHTML = "Connexion en cours...";
	}
	return retour;
}

</script>
</head>

<body>

<div style="width: 260px; border: 1px solid #000; margin: 100px auto;">
<form name="connexion" id="connexion" action="index.php" onsubmit="return message(this)" method="post">
<h1>Connexion</h1>
<table>
	<tr>
    	<td>Courriel : </td>
        <td><input type="text" name="emp_courriel" id="emp_courriel"  /></td>
    </tr>
    <tr>
    	<td>Mot de passe : </td>
        <td><input type="password" name="emp_pass" id="emp_pass"  /></td>
    </tr>
    <tr>
		<td colspan="2" align="center"><input type="submit" name="envoyer" id="envoyer" value="Envoyer" /></td>
    </tr>
</table>
<div id="resultat"><?php echo $message; ?></div>
Pas encore inscrit? <a href="ajouter.php">Inscrivez-vous</a>!
</form>
</div>
</body>
</html>

Et ensuite la page portail.php
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
session_start();

//je check si la variable $_SESSION est règlè 

if (!isset($_SESSION['emp_id'])){
	header('Location:index.php');
	
}
//Je me connect a ma BD
include('dbconnector.php');
if (isset($_POST['ajouter'])){

	
						 

	$resultats = $conn->prepare("insert into activites values(null, ?, ?, ?, ?)");
	$nb = $resultats->execute(array(
									$_POST['acti_titre'],
									$_POST['acti_annee'],
									$_POST['acti_mois'],
									$_POST['acti_jour'])
								);
							
			
	
	
}

if (isset($_POST['submitrss'])){

	$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?)");
	$nb = $resultats->execute(array(
									
									$_POST['rss_link'],
									$_SESSION['emp_id'])
									
								);
							
}

?>
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <title>Projet Syntèse</title>
		<!--J'inclu les bibliothèques Jquery et Jquery UI -->
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
		<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
		<!--j'inclu ma feuille de style-->
		<link rel="stylesheet" href="css/style.css">
		<!-- Plugin JS Drag and drop-->
		<script src="js/dragdrop.js"></script>
		<!-- Plugin JS Calendrier-->
		<script src="js/moment.min.js"></script>
		<script src="js/ion.calendar.js"></script>
		<script src="js/local.js"></script>
		
		<!-- Plugin pour l'API google map -->
		<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
	    <script src="js/googlemap.js"></script>
</head>
    <body>
    <a href="logout.php" style='width: 100%;'>Déconnexion</a>
	
<div class="column" id="column1">
		<div class="dragbox" id="item1" >
			<h2>Google Map</h2>
			<div class="dragbox-content" >
				<div id="map-canvas"></div>

			</div>
		</div>
		<div class="dragbox" id="item2" >
			<h2>Flickr</h2>
			<div class="dragbox-content" >
					<form id="flickr">
							<h3>Recherche Flickr</h3><br />
							<input type="text" name="flickrecherche" id="flickrecherche"/><br />
					
					</form>
			</div>
		</div>
		<div class="dragbox" id="item3" >
			<h2>Flux rss</h2>
			<div class="dragbox-content" >
				<form method='post'>
				<h3>Ajouter un flux RSS</h3>
				
				<p style='line-height: 0.5px;'>entrer l'url de votre flux RSS</p>
				
					<input type='text' name='rss_link' id='rss_link' style='width: 255px;'><br/>
					<input action=''type="submit" name="submitrss" id="submitrss" value="ajouter un flux" />
					<?php
					// requete pour aller hercher tous les RSS de l'utilisateur connecté
						$resultats = $conn->prepare("select rss_link from flux_rss where fk_emp_id = ?");
						$resultats->execute(array($_SESSION['emp_id']));
						
					
					// dans ton while
						// tu appelles feedParser($data-rssurl)
						require_once("feedparser.php");
						echo FeedParser($data->rss_link);
					?>			
				</form>
				
						
			</div>
		</div>
	</div>
	<div class="column" id="column2" >
		<div class="dragbox" id="item4" >
			<h2>Calendrier </h2>
			<div class="dragbox-content" >
				  <div class="demo__element">
    
        <div id="calendar-2"></div>
        
    </div>
        
        
        <form>
        	<h3>Ajouter une activité</h3>
        	
        	<p>Nom de l'activité<br/>
	        <input type='text' name='activity_titre' id='acti_titre'></p>
	        
	        <p>Date de l'activité<br/>
	        <input type='text' name='activity_titre' id='acti_titre' value='YYYY-MM-JJ' style='color: gray;'></p>
	        
	        <p>Début <select class="acti_jour_fin"><option value="1:00">1:00</option><option value="2:00">2:00</option><option value="3:00">3:00</option><option value="4:00">4:00</option><option value="5:00">5:00</option><option value="6:00">6:00</option><option value="7:00">7:00</option><option value="8:00">8:00</option><option value="9:00">9:00</option><option value="10:00" selected="selected">10:00</option><option value="11:00">11:00</option><option value="12:00">12:00</option><option value="13:00">13:00</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19:00">19:00</option><option value="20:00">20:00</option><option value="21:00">21:00</option><option value="22:00">22:00</option><option value="23:00">23:00</option><option value="24:00">24:00</option><option value="25:00">25:00</option><option value="26:00">26:00</option><option value="27:00">27:00</option><option value="28:00">28:00</option><option value="29:00">29:00</option><option value="30:00">30:00</option><option value="31:00">31:00</option></select></p>
	        
	        <p>Fin <select class="acti_jour_fin"><option value="1:00">1:00</option><option value="2:00">2:00</option><option value="3:00">3:00</option><option value="4:00">4:00</option><option value="5:00">5:00</option><option value="6:00">6:00</option><option value="7:00">7:00</option><option value="8:00">8:00</option><option value="9:00">9:00</option><option value="10:00" selected="selected">10:00</option><option value="11:00">11:00</option><option value="12:00">12:00</option><option value="13:00">13:00</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19:00">19:00</option><option value="20:00">20:00</option><option value="21:00">21:00</option><option value="22:00">22:00</option><option value="23:00">23:00</option><option value="24:00">24:00</option><option value="25:00">25:00</option><option value="26:00">26:00</option><option value="27:00">27:00</option><option value="28:00">28:00</option><option value="29:00">29:00</option><option value="30:00">30:00</option><option value="31:00">31:00</option></select></p>
      
	      <input type="submit" name="ajouter" id="ajouter" value="ajouter" />  
        </form>
   <div class="demo__result" id="result-2">...</div>       
   
			</div>
		</div>
		
	</div> 
 
    </body>
</html>

Malheureusement j'ai encore 2 bugs mais ça se précise. Voici les 2 erreurs :
Notice: undefined variable: data in portail.php on line 107
et
trying to get property of non- object in portail.php on line 107
Cela ce trouve a l'endroit ou vous pouvez voir : require_once("feedparser.php");
echo FeedParser($data->rss_link);

Re: feed rss et base de donné

par moogli » 25 nov. 2013, 23:11

non il faut vraiment que tu revoie la base du SQL ta requête insert n'est pas syntaxiquement correcte.
Il faut toujours commencer par tester une requête dans un client SQL ;)

pour le SQL : http://sqlpro.developpez.com ;)

pour la clef primaire de l'utilisateur effectivement c'est ce que l'on stock généralement en session à la connexion de l'utilisateur.
est ce que tu as déjà un système de connexion fonctionnel ?

@+

Re: feed rss et base de donné

par cracktor » 24 nov. 2013, 19:21

OK merci Moogli, je vais faire cela demain matin a la première heure. En attendant je vais continuer essayer de comprendre le truc au sujet de l'insertion des 5 champs. Je me doutais bien que cela ne marcherait pas, mais je me demande comment remplir ce dernier champ sachant que c'est une clef étrangère. Ce n'est pas l'utilisateur qui le remplira alors, l’info dois venir d’où, de la variable $_SESSION?

J'avais pensé à ceci, mais cela ne fonctionne pas non plus.
if (isset($_POST['submitrss'])){

						 

	$resultats = $conn->prepare("insert into flux_rss inner join employes on fk_emp_id = emp_id values(null, ?, ?, ?, ?)");
	$nb = $resultats->execute(array(
									$_POST['rss_title'],
									$_POST['rss_link'],
									$_POST['rss_desc'],
									$_SESSION['emp_id'])
									
								);
							
			
	
	
}

Suis-je sur la bonne voie? Si je m'occupe seulement de ce bout de code et que je mets de côté la compréhension de la demande exacte.
Merci de prendre le temps de m'expliquer. Simplement en rédigent des «posts» j'apprends énormément j'espère ne pas trop polluer ce forum avec mes questions.

Re: feed rss et base de donné

par moogli » 24 nov. 2013, 13:31

Bon je commence a saisir le truc un peu plus. Je dois entrer des données dans ma BD. Ensuite je dois générer un XML à partir de la BD. Je dois donc entré les données de mon flux dans ma bd, mais je ne comprends pas pourquoi cela ne marche pas pourtant cela a bien marché pour le login.
En fait non.
Ce n'est pas toi qui crée le XML.
Ce n'est pas à toi de gérer le flux de nouvelles d'un tiers ....
Toi tu doit simplement consumer le service (quand tu va faire tes courses tu ne remplis pas les rayons avant de remplir ton caddie ...).

De plus, sauf modification de la table rss, tu essai d'insérer 5 champs dans bue table qui n'en a que trois.
C'est normal que cela ne fonctionne pas.

Au point où tu en es je te conseil de voir avec ton prof qu'il t'explique correctement ce qu'un est attendu de toi, voir qu'il t'explique le l'idée que tu ne semble pas trop comprendre.
C'est normal d'avoir des explications et cela t'évite de faite n'importe quoi et de prendre du temps.

La ton problème n'est pas lié qu'au développement mais a la compréhension de la demande exacte. Et c'est le plus important ;)

@+

Re: feed rss et base de donné

par cracktor » 24 nov. 2013, 10:33

Bon je commence a saisir le truc un peu plus. Je dois entrer des données dans ma BD. Ensuite je dois générer un XML à partir de la BD. Je dois donc entré les données de mon flux dans ma bd, mais je ne comprends pas pourquoi cela ne marche pas pourtant cela a bien marché pour le login.

Pour ajouter un employé, je faisais ceci et ça fonctionne:
$message = '';

if (isset($_POST['envoyer'])){

	include('dbconnector.php');
						 

	$resultats = $conn->prepare("insert into employes values(null, ?, ?, ?,SHA1(?))");
	$nb = $resultats->execute(array(
									$_POST['emp_prenom'],
									$_POST['emp_nom'],
									$_POST['emp_courriel'],
									$_POST['emp_pass'])
								);
							
			
	if ($nb > 0){					
		$_SESSION['emp_courriel'] = $_POST['emp_courriel'];
		header('Location: admin.php');
	}
	else{
		$message = "Une erreur semble s'être produite, veuillez réessayez";
	}
	
}
Par contre pour entrer les données du flux RSS dans ma base de données cela ne marche pas.
if (isset($_POST['submitrss'])){

						 

	$resultats = $conn->prepare("insert into flux_rss values(null, ?, ?, ?, ?)");
	$nb = $resultats->execute(array(
									$_POST['rss_title'],
									$_POST['rss_link'],
									$_POST['rss_desc'])
								);
							
			
	
	
}
Quelqu'un a une idée? Svp :?
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <title>Projet Syntèse</title>
		<!--J'inclu les bibliothèques Jquery et Jquery UI -->
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
		<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
		<!--j'inclu ma feuille de style-->
		<link rel="stylesheet" href="css/style.css">
		<!-- Plugin JS -->
		<script src="js/dragdrop.js"></script>
		<script src="js/moment.min.js"></script>
		<script src="js/ion.calendar.js"></script>
		<script src="js/local.js"></script>
		
		<!-- Plugin pour l'API google map -->
		<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
	    <script src="js/googlemap.js"></script>
</head>
    <body>
	
<div class="column" id="column1">
		<div class="dragbox" id="item1" >
			<h2>Google Map</h2>
			<div class="dragbox-content" >
				<div id="map-canvas"></div>

			</div>
		</div>
		<div class="dragbox" id="item2" >
			<h2>Flickr</h2>
			<div class="dragbox-content" >
					<form id="flickr">
							<h3>Recherche Flickr</h3><br />
							<input type="text" name="flickrecherche" id="flickrecherche"/><br />
					
					</form>
			</div>
		</div>
		<div class="dragbox" id="item3" >
			<h2>Flux RSS</h2>
			<div class="dragbox-content" >
				<form>
				<h3>Ajouter un flux RSS</h3>
				
				<p style='line-height: 0.5px;'>entrer l'URL de votre flux RSS</p>
					<input type='text' name='rss_title' id='rss_title' style='width: 300px;'>
					<input type='text' name='rss_link' id='rss_link' style='width: 300px;'>
					<input type='text' name='rss_desc' id='rss_desc' style='width: 300px; height: 100px;'><br/>
					<input action='portail.php'type="submit" name="submitrss" id="submitrss" value="ajouter un flux" />
					
				</form>
				
				<div id='affichage_rss'></div>
			</div>
		</div>
	</div>
	<div class="column" id="column2" >
		<div class="dragbox" id="item4" >
			<h2>Calendrier </h2>
			<div class="dragbox-content" >
				  <div class="demo__element">
    
        <div id="calendar-2"></div>
        
    </div>
        
        
        <form>
        	<h33>Ajouter une activité</h3>
        	
        	<p>Nom de l'activité
	        <input type='text' name='activity_titre' id='acti_titre'></p>
	        
	        <p>Date de l'activité
	        <input type='text' name='activity_titre' id='acti_titre' value='YYYY-MM-JJ' style='color: gray;'></p>
	        
	        <p>Début <select class="acti_jour_fin"><option value="1:00">1:00</option><option value="2:00">2:00</option><option value="3:00">3:00</option><option value="4:00">4:00</option><option value="5:00">5:00</option><option value="6:00">6:00</option><option value="7:00">7:00</option><option value="8:00">8:00</option><option value="9:00">9:00</option><option value="10:00" selected="selected">10:00</option><option value="11:00">11:00</option><option value="12:00">12:00</option><option value="13:00">13:00</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19:00">19:00</option><option value="20:00">20:00</option><option value="21:00">21:00</option><option value="22:00">22:00</option><option value="23:00">23:00</option><option value="24:00">24:00</option><option value="25:00">25:00</option><option value="26:00">26:00</option><option value="27:00">27:00</option><option value="28:00">28:00</option><option value="29:00">29:00</option><option value="30:00">30:00</option><option value="31:00">31:00</option></select></p>
	        
	        <p>Fin <select class="acti_jour_fin"><option value="1:00">1:00</option><option value="2:00">2:00</option><option value="3:00">3:00</option><option value="4:00">4:00</option><option value="5:00">5:00</option><option value="6:00">6:00</option><option value="7:00">7:00</option><option value="8:00">8:00</option><option value="9:00">9:00</option><option value="10:00" selected="selected">10:00</option><option value="11:00">11:00</option><option value="12:00">12:00</option><option value="13:00">13:00</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19:00">19:00</option><option value="20:00">20:00</option><option value="21:00">21:00</option><option value="22:00">22:00</option><option value="23:00">23:00</option><option value="24:00">24:00</option><option value="25:00">25:00</option><option value="26:00">26:00</option><option value="27:00">27:00</option><option value="28:00">28:00</option><option value="29:00">29:00</option><option value="30:00">30:00</option><option value="31:00">31:00</option></select></p>
      
	      <input type="submit" name="ajouter" id="ajouter" value="ajouter" />  
        </form>
   <div class="demo__result" id="result-2">...</div>       
   
			</div>
		</div>
		
	</div> 
 
    </body>
</html>

Re: feed rss et base de donné

par moogli » 24 nov. 2013, 00:38

Il n'y a pas de magie à l'insertion des données en base.
Une fk sert au respect de l'intégrité référentielle et donc t'empêche d'entrer des données foireuses dans les tables contenant la fk.
Cela sert aussi à retrouver les données associées.

Donc ton système de connexion garde en session l'id de l'employé qui est connecté et, à la validation du formulaire, tu insère cet id dans la table avec l'url du flux inséré dans le formulaire.

Un flux rss c'est avant tout un fichier XML alimenté par sont créateur.
Ton rôle, en tant que consommateur de ce flux, c'est simplement de le lire et d'afficher sont contenu.
Donc, par exemple, utiliser simplexml pour récupérer les infos qu'il contient et les afficher.
Tu pense a limiter les infos affichées et fournit une pagination.


@+

Re: feed rss et base de donné

par cracktor » 23 nov. 2013, 04:18

Merci moogli de prendre le temps de me répondre.J'ai mis l'énoncé de peur de ne pas être suffisamment clair. Mais je vois que cela a eu l'effet contraire et je m'en excuse je ne suis pas très habitué sur les forums. Je vais reformuler le tout et je vais mettre mon code en essayant de bien m'exprimer.

1.Je ne suis pas sûr de comprendre tout à fait la dynamique des flux RSS arrêtés moi si je me trompe. Je sais qu'un site qui offre un service de flux RSS peut envoyer son contenu a d'autre site ou a des abonnés qui désirent suivre ce flux. Mais la ou cela devient flou pour moi c'est pour quoi je dois l'ajouter a ma BD?

2. SI je prends le début pour acquis et que je réussis à mettre un flux RSS dans ma BD alors comment je l'affiche comment ensuite ? De la même façon qu'un simple XML?

3. voici mon code:
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');




if (isset($_POST['submitrss'])){

	include('dbconnector.php');
						 

	$resultats = $conn->prepare("insert into rss values(null, ?, ?)");
	$nb = $resultats->execute(array($_POST['ajouterss']));
							
			
	
	
}

?>
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <title>Rss</title>
		<!--J'inclu les bibliothèques Jquery et Jquery UI -->
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
		<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
		<!--j'inclu ma feuille de style-->
		<link rel="stylesheet" href="css/style.css">
		
</head>
    <body>
<form>
				<h3>Ajouter un flux RSS</h3>
				
				<p style='line-height: 0.5px;'>entrer l'url de votre flux RSS</p>
					<input type='text' name='ajouterss' id='ajouterss' style='width: 300px;'>
					<input action='portail.php'type="submit" name="submitrss" id="submitrss" value="ajouter un flux" />
					
				</form>
				
				<div id='affichage_rss'></div>

    </body>
</html>
Il y a 3 colonnes à ma table rss_id qui est auto inclémente. rss_url qui vient du champ texte et le fk_emp_id qui est la clé étrangère de emp_id(employé id). Ce dernier je ne sais pas comment l'ajouter a la BD. Cela se fait'-il tout seul puisque qu'il est lié a emp_id?

le user pour ce connecté est [email protected] et le pass est qwerty
http://www.humanigenerix.com

Je voulais aussi préciser que j'ai déjà commencé le code j'ai intégrer le login, la map google la page portail et les panneaux qui ce glisse.

Re: feed rss et base de donné

par moogli » 22 nov. 2013, 23:16

Bon puisque personne ne m'aide j'en conclue que c'est parce que mon problème est trop complexe
Ou alors BÉNÉVOLES de ce site on autre chose à faire que t'aider, comme par exemple bosser, s’occuper de leurs famille etc.

tu donne un énoncé d’exercice sans franche indiqué ce que tu as fait.

Ce que tu demande c'est pas complexe à développer et tu peux trouver pas mal de chose déjà existante pour te faciliter la tache (comme des agrégateur rss).

Quand au modèle que tu indique, la table rss est très simple et si tu ne comprend pas ce qu'elle représente je pense que tu devrais (re) lire des cours sur la modélisation :)

rss_id : une clef primaire basique
rss_url : l'url du flux à afficher
fk_emp_id : clef étrangère de la table employé.

on a donc une url associée à un employé.
effectivement ce n'est pas le meilleur modèle car si plusieurs employé veulent le même flux rss il va y avoir des doublons.

une table rss
id : pk
rss_url : varchar (100 peux être trop petit pour une url)

une table de liaison entre employes et rss
rss_id : fk rss
emp_id : fk employes

cela permet d'avoir une liste de flux qui ne sont pas en doublon, voir de proposer une liste déjà existante.

Pour l'affichage un agrégateur rss qui prend en paramètre le flux choisit.
il existe surement des widgets rss permettant de simplifier ton code.

Commence par faire le squelette du site, la connexion utilisateur et les interface de gestion des paramètres tu feras le lecteur rss à la fin ce n'est le plus important.

Re: feed rss et base de donné

par juliette » 22 nov. 2013, 19:36

Salut,
je ne suis pas forcement le meilleur pour t'expliquer mais un flux rss ne fonctionne pour tout a fait comme tu l'explique:
Un site enregistre des articles dans une base de données puis grâce a un flux rss, une autre page web est capable de les affichés...
As tu commencer a coder, si ce n'est pas le cas, commence et fait voir ce que tu fais, tu obtiendras plus de réponses...

EDIT: lis cet article http://www.apprendre-php.com/tutoriels/ ... ement.html