Vous n'êtes pas identifié(e).
Merci Maljuna Kris, je teste touours avec des étoiles et puis de fini avec les variables, mais comme je suis tête en l'air, une piqure de rappel fait toujours du bien
Vraiment merci d'avoir pris le temps pour toutes ces explications Je corrige immédiatement.
Merci beaucoup pour ces explications. J'avais entre midi et deux intval, mais je ne voyais pas trop la différence. Maintenant effectivement, ça simplifie les choses.
Je vais devoir revoir toutes mes pages car je pense que je me suis laché sur les addslash pour les ids
Pourrais tu me dire la différence entre :
et
J'ai testé les deux, et cela fonctionne, mais c'est la 1er fois que je vois ===
Bon, j'avance, j'ai rajouté des '
Je n'ai plus de message d'erreur, mais les commentaires ne s'affichent pas.
J'ai oublié de rajouté l'erreur ...
PS : je ferais la guerre aux étoiles
Bonjour à tous,
j'affiche des fiches produits, tout se passe bien puisque si je rajoute un ' ou un ", le résultat s'affiche quand même.
Mais j'ai voulu rajouter un script pour poser des commentaires, et à l'affichage, cette fois, si je rajoute un ' ou ", la fiche produit s'affiche mais j'ai une erreur sur les commentaires, je vois pas du tout quoi faire.
$_GET['id_produit'] = addslashes ($_GET['id_produit']);
$Requete_SQL2 = "SELECT * FROM commentaire WHERE valid = '1' AND id_produit = $id_produit ORDER BY date DESC ";
mysql_real_escape_string($id_adresse);
$result = mysql_query($Requete_SQL2) or die("Erreur de Sélection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error());
error_reporting(55);
// creation et affichage de la table
while($val=mysql_fetch_array($result))
if($val["valid"] == 1)
{
$date=$val[date];
$login=$val[login];
$com_pos=$val[com_pos];
$com_neg=$val[com_neg];
echo "<span class=\"texteavis\">Avis : </span><span class=\"textenormal\">";
echo stripslashes($com_pos);
Merci JC d'avoir pris le temps de me mettre les points sur les "i"
PS : j'archive régulièrement, surtout depuis que j'ai passé une matinée au commissariat pour une annonce frauduleuse pour laquelle il à fallu que je donne une copie de la bdd.
J'ai testé avec exit et si id existe, j'ai une page blanche ... mais en écrivant ces lignes je viens de comprendre que le exit devrait être dans la condition else si je ne me trompe pas.
C'est fou, chaque fois que je viens ici, j'apprends un peu plus (je ne suis pas un élève assidu et ça se voit...) mais je comprends mieux en expliquant le problème.
Est-ce que ça vous parait correct ?
Maljuna Kris merci pour ces précisions. Je vais de ce pas modifier mon code, et revoir la docs php sur le header. Comme tu l'as dit, ça se voit que j'ai du mal
Merci JC, j'ai déjà effectivement une redirection 404 en htaccess.
Donc si je comprends bien, il me suffit de mettre
J'ai du mal à comprendre le header, je suis allez sur le Manuel php mais je m'embrouille.
Hello, merci de ta réponse, mais malheureusement, ce n'est pas dynamique à moins que je me trompe.
Mon code ci-dessus renvoi sur ma page 404... mais est toujours considéré comme une erreur par google ... je cherche encore ^^
Le principe que j'ai trouvé sur le net serais ça :
Mais je n'ai pas encore testé, je galère pour l'adapter n'utilisant pas encore les fonctions.
J'avance dans mes recherches avec un dernier code trouvé
Bonjour à tous,
en regardant webmaster tool ce matin, je m'aperçois que j'ai un soucis de 404 manquante...
En fait j'ai des annonces sous cette forme :
http://www.monsite.com/mondossier/monan … hp?id=1112
Mais si une personne supprime cette annonce, l'url est encore bonne (je le pensais :D) puisque je mettais :
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_selectdb($dbname);
$result=mysql_query("SELECT * FROM matable WHERE id='".$_GET['id']."' AND valid = 1 ");
mysql_real_escape_string($id);
if ($row=mysql_fetch_array($result)) {
echo $row["titre"];
} else {
echo "annonce disparu";
} mysql_close();
?>
Pareil pour le contenu avec un message, mais google n'apprecie pas.
Donc ma question ,c'est comment renvoyer ou indiquer une 404 si mon "$id" n'existe pas ?
J'ai vu pour l'instant cela :
header("HTTP/1.0 404 Not Found");
Mais j'ai du mal à comprendre le principe... et à l'écrire. Dois je faire un truc dans le genre :
Merci à ceux qui pourront m'éclairer.
PS : je dois finir la guerre des étoiles ;)
Roww, merci, j'avais pas du tout pensé à utiliser une autre table, je vais voir cela.
Bonjour à tous,
je viens de finir de gérer une base avec 9000 entrée, et je me pose une question technique.
Comment je peux faire pour transcrire cela :
UPDATE matable SET valid = 1 WHERE valid = 0 ;
De façon à ce que seulement une centaine d'entrée soit passé à 1 mais de façon aléatoire. Fonction RAND() ?
Merci d'avance.
Merci JC, je n'ai pas tout compris, mais je cours voir le topic qui effectivement à des mesures de sécurité que je n'ai pas mis en place.
Hello à tous,
en fait, c'est juste pour une vérification de mon code, voir si il n'y à pas mieux, plus simple, ou si je n'ai pas commis d'erreur sur le preg_replace, j'ai vu d'ailleurs que certains utile str_replace.
$addedFiles = array();
$i = "1";
foreach ($_FILES as $name => $file)
{
if (is_uploaded_file($file['tmp_name']))
{
//remplacer espaces par des tirets
$modele = preg_replace('/([^.a-z0-9]+)/i', '-', $modele);
echo "$modele";
// renomme le fichier sur le serveur
copy($file['tmp_name'], "../photo/${marque}-${modele}-${annee}-${i}.jpg" );
$addedFiles[$name] = mysql_real_escape_string("${marque}-${modele}-${annee}-${i}.jpg" );
$i++;
}
}
$query = "
INSERT INTO
Je confirme que ça marche, mais au cas ou, je prefere demander
J'ai un cours personnel sur l'utilisation de TIMESTAMP et CURRENT_TIMESTAMP, c'est génial .
Bon ben comme d'habitude, j'imprime la discussion en PDF pour m'en souvenir.
Rahh, j'avais raté le message de Maljuna Kris. Bon ben redirection le petit manuel pour voir cela
Merci pour ce complément d'info, je n'ai pas arreter de lire, et en sus ,tu m'apportes de nouvelles informations. Je ne savais pas que l'on pouvait remplacer NOW (que j'utilisais constamment) par la valeur par defaut CURRENT_TIMESTAMP.
Je pense que je m'en suis sorti, mais il me reste un gros nettoyage de code à faire
Super, merci
Bonjour à tous,
j'étais entrain de me faire un petit agenda en PHP. Et une fois que j'ai voulu afficher par mois et jour, je me suis aperçu que je m'y étais pris comme un manche, soyons honnête, il faut le dire.
Donc, du coup, quand je veux faire un tri de la façon suivante, je pleure :
30 juin
18 juin
26 mai
16 mai
01 mai
30 avril
24 avril
12 avril
Je m'étais prévu un champ "date" auto à l'insertion sous la forme Y-M-D.
Et puis j'ai rajouté 3 champs : "jour_debut" , "mois_debut" , "annee_debut" , pour la date de évènements.
Et puis j'ai décidé de lancer mon tri ....
ORDER BY mois_debut DESC, jour_debut DESC
La ou je me retrouve coincé, c'est que j'ai completement zappé que mois_debut n'ai pas une date, puisqu'il contient par ex "avril" et quand je classe ben avril = A > Mai = M
Donc, j'avoue que je bloque. Je suis entrain de penser au champ date tout seul qui va me servir, mais ce matin je suis pas très frais...
Est que c'est bon comme ça ?
$_GET['id'] = addslashes ($_GET['id']);
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_selectdb($dbname);
$result=mysql_query("SELECT * FROM matable WHERE id='".$_GET['id']."' ");
mysql_real_escape_string($id);
Je viens de tester, ça à l'air bon mais je préfère avoir une confirmation...
Merci pour le 1er code, je viens de voir que c'était pour les includes Mais merci pour ton code, il me servira tôt ou tard.
Depuis hier, je n'arrête pas de surfer sur les failles PHP et je prends peur ...
Effectivement j'ai vu que mysql_real_escape_string() était le minimum ...
J'en ai profiter pour changer ce bout :
$_GET['id'] = addslashes ($_GET['id']);
Bonjour à tous,
voila mon soucis, une gentille personne s'est introduite sur mon site et ma envoyé des infos sur ma bdd par mail. J'ai de la chance, je reconnais
Il m'a simplement mis en évidence le fait de rajouter une ' à la fin de mon URL faisais afficher le début d'info :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/d4d44zfg4389684/web/
En cherchant , j'ai trouvé ça, mais mes connaissances étant très limité, je prefere demander si ça pourrait résoudre mon probleme de faille :
Voici ma page :
<?php
// connexion
$id = $_GET["id"];
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_selectdb($dbname);
$result=mysql_query("SELECT * FROM ma table WHERE id='$id'");//affichage
if ($row=mysql_fetch_array($result)) {
echo "<input type=hidden name=\"id\" value=$id>\n";//fin de test
} else {
echo "Désolé, mais raté";
} mysql_close();
?>
Je vais corriger les *