comment transmettre des informations d'une page à une autre avec php

Petit nouveau ! | 8 Messages

03 août 2015, 08:42

Bonjour les amis, 
voici mon souci: j'ai deux pages php, une qui s'apelle blog.php et la seconde qui s'apelle blog-article.php.
 
J'ai un lien "lire la suite sur blog" qui me permettra d'afficher le reste de l'article sur blog-article.php avec le bon "id" "et les bonnes information de la base"

comment puis-je faire cela. je débute en php. Merci

Voici le code des deux page:


                                                                       PAGE BLOG.PHP

<?php 
  include"dbconnect.php";
  include"pagination.php";

?>

<!DOCTYPE html>
<!--[if IE 8]>			<html class="ie ie8"> <![endif]-->
<!--[if IE 9]>			<html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->	<html> <!--<![endif]-->
	<head>

							<div class="blog-posts">
                            
                            <?php 
								// on fait une boucle qui va faire un tour pour chaque enregistrement 
								while($data = mysql_fetch_assoc($reqarticle)) 
									{ 
									 echo'
								<article class="post post-large-image">
									<div class="post-image">
										<div class="flexslider flexslider-center-mobile flexslider-simple" data-plugin-options=\'{"controlNav":false, "animation":"slide", "slideshow": false, "maxVisibleItems": 1}\'>
											<ul class="slides">
												<li>
													<img class="img-rounded" src="img/blog/blog-image-1.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-2.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-3.jpg" alt="">
												</li>
											</ul>
										</div>
									</div>
			
									<div class="post-date">
										<span class="day">10</span>
										<span class="month">Jan</span>
									</div>
			
									<div class="post-content">
                                
										<h2><a href="blog-article.php">'.$data['titre'].' </a></h2>
										<p>'.$data['article'].'</p>

										<div class="post-meta">
									    <span><i class="icon-user"></i> Par '.$data['auteur'].' , '.$data['titre_auteur'].'</span>
							              
											<span><i class="icon-comments"></i> <a href="#">12 Comments</a></span>
											<a href="blog-article.php?page='.$data['id'].'" class="btn btn-mini btn-primary pull-right">Lire la suite...</a>
										</div>

									</div>
								</article>' ;
									}
								
								
						    ?> 


								<div class="pagination pagination-large pull-right">
									<ul>
									
										<li class="<?php if($current == '1'){echo 'disable';}?>"><a href="?page=<?php if($current != '1'){echo $current -1;}else {echo $current;}?>">&laquo;</a></li>
                                        
                                        
                                     <?php 
									   for($i=1; $i <= $nbPage; $i++){
										   
										   if($i == $current){
											 
											 ?>  
                                               <li class="active"><a href="?page=<?php echo $i;?>"><?php echo $i;?></a></li>
                                              <?php
											   
										}else {
											 ?>
											 <li><a href="?page=<?php echo $i;?>"><?php echo $i;?></a></li>
                                             <?php
											}
									}
									 ?>
                                        
                                        
                                       <li class="<?php if($current == $nbPage){echo 'disable';}?>"><a href="?page=<?php if($current != $nbPage){echo $current +1;}else {echo $current;}?>">&raquo;</a></li>
									
									</ul>
								</div>

							</div>
						</div>

						<div class="span3">
							<aside class="sidebar">

								<!--form class="form-search">
									<div class="input-append">
										<input type="text" class="span2 search-query" placeholder="Search the blog...">
										<button type="submit" class="btn btn-primary"><i class="icon-search"></i></button>
									</div>
								</form-->

								<!--hr /-->

				<div class="footer-copyright">
				
			   </footer>
	
	</body>
</html>



                                                                            PAGE BLOG-ARTICLE.PHP


<!DOCTYPE html>
<!--[if IE 8]>			<html class="ie ie8"> <![endif]-->
<!--[if IE 9]>			<html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->	<html> <!--<![endif]-->
	<head>

		
							<div class="blog-posts single-post">

								<article class="post post-large-image blog-single-post">
									<div class="post-image">
										<div class="flexslider flexslider-center-mobile flexslider-simple" data-plugin-options='{"animation":"slide", "animationLoop": true, "maxVisibleItems": 1}'>
											<ul class="slides">
												<li>
													<img class="img-rounded" src="img/blog/blog-image-1.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-2.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-3.jpg" alt="">
												</li>
											</ul>
										</div>
									</div>
			
									<div class="post-date">
										<span class="day">10</span>
										<span class="month">Jan</span>
									</div>
			
									<div class="post-content">

										<h2><a href="blog-article.php"></a></h2>

										<div class="post-meta">
											<span><i class="icon-user"></i> Par </span>
											<span><i class="icon-tag"></i> <a href="#">Duis</a>, <a href="#">News</a> </span>
											<span><i class="icon-comments"></i> <a href="#">12 Comments</a></span>
										</div>

										<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur lectus lacus, rutrum sit amet placerat et, bibendum nec mauris. Duis molestie, purus eget placerat viverra, nisi odio gravida sapien, congue tincidunt nisl ante nec tellus. Vestibulum ante ipsum </p>
										<p>Ut ac elit non mi pharetra dictum nec quis nibh. Pellentesque ut fringilla elit. Aliquam non ipsum id le</p>
									
	</body>
</html>

Mammouth du PHP | 688 Messages

03 août 2015, 09:16

il manque le code qui définit ce que contient $reqarticle
la requete sql à executer pour n'avoir qu'un article est proche.
select * from article
select * from article where id = $tonid

Petit nouveau ! | 8 Messages

03 août 2015, 13:33

Re bonjour, ton code ne marche pas.
Peux tu monter un exemple sur deux pages? c'est à dire l'une qui transmet les informations à l'autre.
Une premier page qui aura un lien "lire la suite" et la seconde qui va afficher les détails lorsqu'on clique sur le lien 'lire la suite" de la première page. Je veux avoir une aperçu du code php et des requête. merci

Mammouth du PHP | 688 Messages

03 août 2015, 14:25

dans le h2, c'est faux mais plus bas, il y a
<a href="blog-article.php?page='.$data['id'].'" class="btn btn-mini btn-primary pull-right">Lire la suite...</a>
qui fait bien le job.

Petit nouveau ! | 8 Messages

03 août 2015, 18:21

oui je sais ça fait bien je job, mais sur la page vers laquelle elle doit rediriger (blog-article.php) comment puis-je récupérer les données transmises te les afficher c'est mon problème. Peux tu me monter?
voici le code que j'ai mais mais ça ne fonctionne pas.
<?php 

// on se connecte à MySQL 
$db = mysql_connect('localhost', 'root', ''); 

// on sélectionne la base 
mysql_select_db('dbkaso',$db); 
?>
<!DOCTYPE html>
<!--[if IE 8]>			<html class="ie ie8"> <![endif]-->
<!--[if IE 9]>			<html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->	<html> <!--<![endif]-->

					<div class="container">
						<div class="row">
							<div class="span12">
								<ul class="breadcrumb">
									<li><a href="#">Blog</a> <span class="divider">/</span></li>
									<li class="active">blog article</li>
								</ul>
							</div>
						</div>
						<div class="row">
							<div class="span12">
								<h2>Blog</h2>
							</div>
						</div>
					</div>
				</section>

				<div class="container">
                
                              <?php 
							      mysql_query("SET NAMES 'utf8'");
				                  // on crée la requête SQL 
								 $reqarticle = mysql_query("SELECT * FROM blog WHERE id = $reqarticle ");
				  				//on recupère les informations de la base 
								while($data = mysql_fetch_assoc($reqarticle)) 
									{ 
									
									$data['id'];
									$data['titre'];
									$data['article'];
									$data['date'];
									$data['auteur'];
									$data['titre_auteur'];
									$data['comment'];
									$data['date_comment'];
									$data['nom_comment'];
									$data['mail_comment'];
									
									
									};
				
				                 ?>
                               
					<div class="row">
						<div class="span9">
							<div class="blog-posts single-post">

								<article class="post post-large-image blog-single-post">
									<div class="post-image">
										<div class="flexslider flexslider-center-mobile flexslider-simple" data-plugin-options='{"animation":"slide", "animationLoop": true, "maxVisibleItems": 1}'>
											<ul class="slides">
												<li>
													<img class="img-rounded" src="img/blog/blog-image-1.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-2.jpg" alt="">
												</li>
												<li>
													<img class="img-rounded" src="img/blog/blog-image-3.jpg" alt="">
												</li>
											</ul>
										</div>
									</div>
			
									<div class="post-date">
										<span class="day">10</span>
										<span class="month">Jan</span>
									</div>
			
									<div class="post-content">

										<h2><a href="blog-article.php"><?php echo $data['titre']; ?></a></h2>

										<div class="post-meta">
											<span><i class="icon-user"></i> Par <?php echo $data['auteur'];?> </span>
											<span><i class="icon-tag"></i> <a href="#">Duis</a>, <a href="#">News</a> </span>
											<span><i class="icon-comments"></i> <a href="#">12 Comments</a></span>
										</div>

			
	</body>
</html>

Mammouth du PHP | 688 Messages

03 août 2015, 18:47


Petit nouveau ! | 8 Messages

05 août 2015, 06:38

Re bonjour, je n'ai pas bien compris le tuto du lien que tu as mis.
ce que je veux est que: J'ai par exemple une page blog.php sur laquelle j'ai déjà fait une boucle while qui me récupère les informations de la base et les affiche tant qu'il y en a. Sur cette même page blog.php j'ai fait un lien lire la suite en utilisant l'id de chaque informations dans la base qui me redirige correctement vers une autre page qui s'appelle blog-article.php avec le bon id. Maintenant comment fait pour afficher le reste des informations la seconde page blog-article.php, d’après mes recherches on utilise $_GET as tu une idée? . Voici le code que j'ai fais sur la seconde page où j'aimerais afficher les informations mais qui ne marche pas (blog-article.php)
<?php 
                 mysql_query("SET NAMES 'utf8'");
                          // on crée la requête SQL 
                 $reqarticle = mysql_query("SELECT * FROM blog  ");
          				//on recupère les informations de la base 
                while($data = mysql_fetch_assoc($reqarticle)) 
                  { 
                  
                  $data['id'];
                  $data['titre'];
                  $data['article'];
                  $data['date'];
                  $data['auteur'];
                  $data['titre_auteur'];
                  $data['comment'];
                  $data['date_comment'];
                  $data['nom_comment'];
                  $data['mail_comment'];
                  
                  
                  };
        
                         ?>
                               
            <div class="post-content">
                     <h2><a href="blog-article.php"><?php echo $data['titre']; ?></a></h2>
                      <span><i class="icon-user"></i> Par <?php echo $data['auteur'];?> </span>
                      <p><?php echo $data['article']; ?></p>
              </div>

Mammouth du PHP | 737 Messages

05 août 2015, 13:58

Salut, tu dois passer une variable en method GET ou POST (au choix) de ta page blog.php vers ta page d'articles.

Exemple tout simple pour que tu comprennes :
Dans ta page blog.php, insères le lien <a href="blog-article.php?mavar=2015">je passe ma variable mavar</a>
Pour récupérer la valeur de ta variable mavar dans blog-article.php tu fais cet appel echo $_GET["mavar"]; //qui va t'afficher 2015

Tu me suis ?

Mega
;)
Dyslexics are teople poo

Petit nouveau ! | 8 Messages

07 août 2015, 11:14

je voudrais mettre ce code pour récupérer les informations correspondant à chaque id, mais je suis bloqué a cette erreur que je n'arrive pas à résoudre
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given

voici le code php
$result = mysql_query ("SELECT * FROM people WHERE id=" . $_GET["id"]);
						
							while($infos = mysql_fetch_assoc($result))
							
							 { 
							 
								echo $infos["auteur"];
								echo $infos["titre_auteur"];
								echo $infos["titre"];
						
	                              };
								  ?>

ViPHP
xTG
ViPHP | 7331 Messages

07 août 2015, 13:33

Tu peux debugguer ta requête en utilisant mysql_error() qui te donnera la dernière erreur remontée par le driver.

Mais ton souci vient à coup sûr de ton injection de variable dans la requête sans aucun contrôle.
$_GET['id'] n'est surtout pas à placer ainsi dans une requête...
Sinon j'appelle ton script de cette façon :
http://tonsite/script.php?id=''%20OR%201=1;
Et la requête renvoi tout le contenu de la table people...
Cela s'appelle une injection SQL, et là elle est gentille.
Mais on pourrait tout aussi simplement te supprimer tout le contenu de ta base de données, ou bien en extraire les mots de passe.

Regardes du côté de mysql_real_escape_string() pour protéger toute variable injectée dans une requête.

Mammouth du PHP | 737 Messages

10 août 2015, 10:34

Salut,

Essaie :
mysql_query ("SELECT * FROM people WHERE id='" . $_GET["id"]."'");
Mega
;)
Dyslexics are teople poo