Ses dernières news
Ses derniers sujets sur les forums
j'ai le code suivant:
<?php
$host = 'localhost';
$pseudo = 'root';
$password = '';
$database = 'moteur_recherche';
$connection = mysql_connect($host,$pseudo,$password)
or die ('Erreur Connection'.mysql_error($conenction));
$select_db = mysql_select_db($database)
or die ('Base inexistante'.mysql_error($conenction));
$requete = htmlentities(mysql_real_escape_string($_POST['requete']));
if (!empty($requete))
{
$req = "SELECT * FROM site WHERE nom_site LIKE '%$requete%'";
$exec = mysql_query($req);
$nb_resultats = mysql_num_rows($exec);
if($nb_resultats != 0)
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<font color="blue">Resultat de votre recherche </font><br/>
<font size="2px">'.$nb_resultats.'</font>';
if($nb_resultats > 1)
{
echo ' <font size="2px" color="red">resultats</font> ';
}
else
{
echo ' <font size="2px" color="red">resultats trouvé</font> ';
}
echo '<font size="2px">dans notre base de donnees :</font><br/><br/>';
while($donnees = mysql_fetch_array($exec))
{
?>
<?php
echo '<span>';
echo '<font size="2px">'.$donnees['adresse_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['nom_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['description_site'].'</font><br/>';
echo '</span>';
?>
<?php
} // fin de la boucle
?>
<?php
}
else
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<h5>Pas de resultats</h3>';
echo '<pre>Nous n avons trouver aucun resultats pour votre requete
<font color="blue">' .$_POST['requete'].'</font></pre>';
}
mysql_close();
}
else
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
}
?>
le problème est que lors de l'affichage de la page dans mon navigateur une erreur du type:
"Undefined index: requete in ..." est c'est avec la ligne
$requete = htmlentities(mysql_real_escape_string($_POST['requete']));
juste après la connexion à la base. et cette même erreur disparaisse après la première exécution
salut,
mon problème c'est que tous les caractères accentués écrites dans ma formulaire seront envoyer comme des caractères inconnus et bizarres dans ma base de donnée « é » j’ai beaucoup essayer mais pas de solution. j'ai essayé ça :
<input name="expediteur" type="text" value="<?php if (isset($_POST['expediteur'])) echo htmlentities(trim($_POST['expediteur']), ENT_QUOTES, 'UTF-8'); ?>" size="30">
mais pas de résultat...
c'est ma page de modification mais la modification au niveau de la base de donnée ne se fait pas correctement et il y a quelque part une erreur que je ne le vois pas. quelqu'un peux m'aider...
<?php
if (isset($_POST['go']) && $_POST['go']=='Modifier le livre')
{
require('connect.php');
if (!isset($_POST['siecle'])|| !isset($_POST['cote']) || !isset($_POST['auteur'])|| !isset($_POST['titre'])|| !isset($_POST['critique'])|| !isset($_POST['maison_edition'])|| !isset($_POST['lieu_edition'])|| !isset($_POST['collection'])|| !isset($_POST['annee_edition'])|| !isset($_POST['nb_pages'])|| !isset($_POST['mots_cles'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['siecle']) || empty($_POST['titre']) || empty($_POST['nb_pages'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$sql = 'UPDATE livres SET siecle="'.$_POST['siecle'].'", genre="'.$_POST['genre'].'", cote="'.$_POST['cote'].'", auteur="'.$_POST['auteur'].'", titre="'.$_POST['titre'].'", critique="'.$_POST['critique'].'", maison_edition="'.$_POST['maison_edition'].'", lieu_edition="'.$_POST['lieu_edition'].'", collection="'.$_POST['collection'].'", annee_edition="'.$_POST['annee_edition'].'", nb_pages="'.$_POST['nb_pages'].'", mots_cles="'.$_POST['mots_cles'].'" WHERE id="'.$_GET['id_livre_a_modif'].'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
header('Location:liste_livres.php');
exit();
}
}
}
?>
<html>
<head>
<title>Modifier un livre</title>
<?php
require 'connect.php';
$result = mysql_query ('SELECT * from livres WHERE id="'.$_GET['id_livre_a_modif'].'"');
while ($data = mysql_fetch_array ($result))
{ ?>
<form action="modif_livre.php" method="post">
<table>
<tr>
<td class="gras">Siécle* : </td>
<td><select name="siecle" >
<option ><?php echo($data['siecle']); ?></option>
<option ></option>
<option value="Moyen Age" >M. Age</option>
<option value="XVI">XVI</option>
<option value="XVII">XVII</option>
<option value="XVIII">XVIII</option>
<option value="XIX">XIX</option>
<option value="XX">XX</option>
</select></td>
</tr>
<tr>
<td class="gras">Genre : </td>
<td><select name="genre" id="list_G" disabled>
<option><?php echo($data['genre']); ?></option>
<option ></option>
<option>ÉPOPEE</option>
<option>ROMAN</option>
<option>CHRONIQUES</option>
<option>CONTES</option>
<option>FABLIAUX</option>
<option>POESIE</option>
<option>THEATRE</option>
<option>DIVERS</option>
<option>CRITIQUES LITTERAIRES</option>
<option>CRITIQUES GENERALES</option>
<option>ANCIEN FRANCAIS</option>
</select>
</td>
</tr>
<tr>
<td class="gras">Cote :</td>
<td><input type="text" name="cote" maxlength="50" size="50" value="<?php echo($data['cote']); ?>"></td>
</tr>
<tr>
<td class="gras">Auteur :</td>
<td><input type="text" name="auteur" maxlength="50" size="50" value="<?php echo($data['auteur']); ?>"></td>
</tr>
<tr>
<td class="gras">Titre* :</td>
<td><textarea name="titre" cols="38" rows="4"><?php echo($data['titre']); ?></textarea></td>
</tr>
<tr>
<td class="gras">Critique :</td>
<td><input type="text" name="critique" maxlength="50" size="50" value="<?php echo($data['critique']); ?>"></td>
</tr>
<tr>
<td class="gras">Maison d’édition : </td>
<td><input type="text" name="maison_edition" maxlength="50" size="50" value="<?php echo($data['maison_edition']); ?>"></td>
</tr>
<tr>
<td class="gras">Lieu d’édition :</td>
<td><input type="text" name="lieu_edition" maxlength="50" size="50" value="<?php echo($data['lieu_edition']); ?>"></td>
</tr>
<tr>
<td class="gras">Collection :</td>
<td><input type="text" name="collection" maxlength="50" size="50" value="<?php echo($data['collection']); ?>"></td>
</tr>
<tr>
<td class="gras">Année d’édition :</td>
<td><input type="text" name="annee_edition" maxlength="4" size="50" value="<?php echo($data['annee_edition']); ?>" ></td>
</tr>
<tr>
<td class="gras">Nombre de pages* : </td>
<td><input type="text" name="nb_pages" maxlength="8" size="50" value="<?php echo($data['nb_pages']); ?>" ></td>
</tr>
<tr>
<td class="gras">Mots Clés :</td>
<td><textarea name="mots_cles" cols="38" rows="4"><?php echo($data['mots_cles']); ?></textarea></td>
</tr>
<tr>
<td>
<td align="right"><br><input type="submit" name="go" value="Modifier le livre"></td>
</tr>
</table>
</form>
<?php
}
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Ses derniers messages sur les forums
merci beaucoup pour la réponse elle m'a vraiment aidé. j'ai essayé de raffiner un peu mon code et j'ai introduit un affichage de page par page que j'ai trouvé sur ce site mais le résultat de ma recherche s'affiche seulement sur une première page la deuxième s'affiche vide
avez vous de solution...
<?php
echo'<form action="catalogue-livre.php" method="Post" >
<table align="center" border="0" cellpadding="5" cellspacing="5">
<tr>
<td>Auteur :</td>
<td><input type="text" name="auteur" size="50"></td>
</tr>
<tr>
<td>Mot du titre :</td>
<td><input type="text" name="titre" size="50"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Chercher" name="go" class="SubmitBleu">Recherche avancée</td>
</tr>
</table>
</form>'
?>
<?php
require 'fonction_num.php';
require('connect.php');
if (isset($_POST['go']) && $_POST['go']=='Chercher')
{
($auteur = htmlentities(mysql_real_escape_string($_POST['auteur'])));
($titre = htmlentities(mysql_real_escape_string($_POST['titre'])));
$req = "SELECT count(*) FROM livres WHERE auteur LIKE '%$auteur%' AND titre LIKE '%$titre%'";
$resultat = mysql_query($req) ;
$nb_total = mysql_fetch_array($resultat);
if (($nb_total = $nb_total[0]) == 0)
{
echo 'Aucune réponse trouvée';
} else {
if (!empty($auteur)||!empty($titre))
{
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 2;
$req = "SELECT * FROM livres WHERE auteur LIKE '%$auteur%' AND titre LIKE '%$titre%' ORDER BY titre ASC LIMIT ".$_GET["debut"].",".$nb_affichage_par_page;
$exec = mysql_query($req);
$nb_resultats = mysql_num_rows($exec);
if($nb_resultats != 0)
{
echo '<span class="Bleu">Résultat de votre recherche : ';
if($auteur) echo 'Auteur « '.$_POST['auteur'].' »';
if($titre) echo ' Titre « '.$_POST['titre'].' »';
echo '</span><br/>'.$nb_total;
if($nb_resultats > 1)
{
echo ' <span class="Vert">résultats trouvés</span> ';
}
else
{
echo ' <span class="Vert">résultat trouvé</span> ';
}
echo 'dans notre bibliothèque des livres :<br/><br/>';
while($donnees = mysql_fetch_array($exec))
{
?>
<?php
echo '<span>';
echo 'Siécle : '.$donnees['siecle'].'<br/>';
if($donnees['genre']) echo ' Genre : '.$donnees['genre'].'<br/>';
if($donnees['cote']) echo ' Cote : '.$donnees['cote'].'<br/>';
if ($donnees['auteur']) echo 'Auteur : '.$donnees['auteur'].'<br/>';
echo 'Titre : '.$donnees['titre'].'<br/>';
if($donnees['critique']) echo ' Critique : '.$donnees['critique'].'<br/>';
if($donnees['maison_edition']) echo 'Maison d´édition : '.$donnees['maison_edition'].'<br/>';
if($donnees['lieu_edition']) echo 'Lieu d´édition : '.$donnees['lieu_edition'].'<br/>';
if($donnees['collection']) echo 'Collection : '.$donnees['collection'].'<br/>';
if($donnees['annee_edition']) echo 'Année d´édition : '.$donnees['annee_edition'].'<br/>';
echo 'Nombre de page : '.$donnees['nb_pages'].'<br/>';
if($donnees['mots_cles']) echo 'Mots Clés : '.$donnees['mots_cles'].'<br/>';
echo'<hr>';
echo '</span>';
?>
<?php
} // fin de la boucle
?>
<?php }
else
{
echo '<h5>Pas de resultats</h3>';
echo '<pre>Nous n´avons trouver aucun livre avec le mot :
<span class="Vert">« '.$_POST['auteur'].' »</span></pre>';
}
echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
mysql_close();
}
}
?>
<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {
$barre = '';
// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}
// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}
if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}
if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}
// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'"><<</A> ';
}
else {
$lien='';
}
$barre .= $lien;
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A> - ";
}
}
}
$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}
// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = ' <A HREF="'.$cible.'">>></A>';
}
else {
$lien='';
}
$barre .= $lien;
return $barre;
}
?>
j'ai le code suivant:
<?php
$host = 'localhost';
$pseudo = 'root';
$password = '';
$database = 'moteur_recherche';
$connection = mysql_connect($host,$pseudo,$password)
or die ('Erreur Connection'.mysql_error($conenction));
$select_db = mysql_select_db($database)
or die ('Base inexistante'.mysql_error($conenction));
$requete = htmlentities(mysql_real_escape_string($_POST['requete']));
if (!empty($requete))
{
$req = "SELECT * FROM site WHERE nom_site LIKE '%$requete%'";
$exec = mysql_query($req);
$nb_resultats = mysql_num_rows($exec);
if($nb_resultats != 0)
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<font color="blue">Resultat de votre recherche </font><br/>
<font size="2px">'.$nb_resultats.'</font>';
if($nb_resultats > 1)
{
echo ' <font size="2px" color="red">resultats</font> ';
}
else
{
echo ' <font size="2px" color="red">resultats trouvé</font> ';
}
echo '<font size="2px">dans notre base de donnees :</font><br/><br/>';
while($donnees = mysql_fetch_array($exec))
{
?>
<?php
echo '<span>';
echo '<font size="2px">'.$donnees['adresse_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['nom_site'].'</font><br/>';
echo '<font size="2px">'.$donnees['description_site'].'</font><br/>';
echo '</span>';
?>
<?php
} // fin de la boucle
?>
<?php
}
else
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
echo '<h5>Pas de resultats</h3>';
echo '<pre>Nous n avons trouver aucun resultats pour votre requete
<font color="blue">' .$_POST['requete'].'</font></pre>';
}
mysql_close();
}
else
{
echo '<center>';
echo '
<form action="moteur_recherche2.php" method="Post">
<input type="text" name="requete" size="60px">
<input type="submit" value="Ok">
</form>';
echo '</center>';
}
?>
le problème est que lors de l'affichage de la page dans mon navigateur une erreur du type:
"Undefined index: requete in ..." est c'est avec la ligne
$requete = htmlentities(mysql_real_escape_string($_POST['requete']));
juste après la connexion à la base. et cette même erreur disparaisse après la première exécution
Bonjour,
mon problème n'est pas résolu car ma BD est en UTF-8 mes pages et mon navigateur aussi, je crois que le problème ce n'est pas avec le codage des pages mais plutôt avec ma requête 'insert'.
$sql = 'INSERT INTO message VALUES("", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['expediteur']).'", "'.mysql_escape_string($_POST['message']).'", "'.date("Y-m-d H:i:s").'")';
vraiment j'ai pas trouvé de solution même la fonction 'encode' ne fait rien
Ses derniers commentaires de news
Aucun commentaire de news
Ses derniers commentaires de sites
Aucun commentaire de sites
Ses derniers commentaires de wall