Benamour Jr

Inscris le 17/03/2010 à 20:43
  • Nombre de sujets
    6
  • Nombre de messages
    13
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Benamour Jr
le 30/03/2010 à 01:28
Concaténation dans une requête SQL
Bonsoir !

J'essaye depuis quelques temps de faire fonctionner une requête SQL... en vain :s
Dans mon code je récupère deux types de variables provenant d'un formulaire (des $_POST['lien1'], $_POST['lien2'], $_POST['lien3'],... et ainsi de suite ainsi que des $_POST['id1'], $_POST['id2'],...) que j'utilise dans une requête SQL que voici :

<?php
for ($nb_lignes = 1; $nb_lignes <= $_POST['nb_liens']; $nb_lignes++)
{
$table = $_POST['lien' . $nb_lignes . ''];
$id2 = $_POST['id' . $nb_lignes . ''];
$requete = "INSERT INTO ".$table."(id_article, id2) VALUES('".$_GET['id']."', '".$id2."')";
echo $requete . '<br />'; // que j'ai inséré pour y voir plus clair dans mon erreur
$bdd->exec($requete);
}
?>


l'echo $requete me retourne ceci quand $_POST['nb_liens'] vaut par exemple 3 :

INSERT INTO article_presse_dossier(id_article, id2) VALUES('47', '5')
INSERT INTO article_presse_individu(id_article, id2) VALUES('47', '2')
INSERT INTO article_presse_dossier(id_article, id2) VALUES('47', '2')

Ce qui me semble tout à fait correct, puis que j'ai les champs 'id_article' et 'id2' dans les deux tables concernées. Seulement voila, rien n'est ajouté dans mes tables... ca ne fonctionne pas :s

Si quelqu'un pouvait m'aider à trouver mon erreur je lui en serais vraiment très reconnaissant, merci ! :)
Benamour Jr
le 28/03/2010 à 11:10
Moteur de recherche : afficher des suggestions
Pour ceux que ca intéresse, c'est en fait de l'autocomplétion via AJAX :

http://dcabasson.developpez.com/articles/javascript/ajax/ajax-autocompletion-pas-a-pas/
Benamour Jr
le 28/03/2010 à 10:57
Moteur de recherche : afficher des suggestions
Bonjour,

Je suis en train de plancher sur le développement du moteur de recherche de mon site. J'aurais aimé pouvoir afficher des suggestions de recherche directement liées aux données d'un champ d'une de mes table. Par exemple, le visiteur commence à taper "Infor" et de là une petite liste s'ouvre en bas de la zone de texte où l'on peut voir les champs de ma table qui correspondent (genre "Informatique", "Information", "Inforoute",...).

Comment qu'on fait pour développer ça ? Si quelqu'un a un petit tuto sous la main, un code source sur lequel je pourrais m'inspirer ou tout simplement des conseils pour m'indiquer la marche à suivre, ce serait sympa ! :)
Benamour Jr
le 27/03/2010 à 23:08
Espace membre : session + cookie
Pour ceux que ca intéresserait, j'ai simplement fait un $_SESSION['pseudo'] = $_SESSION['cookie'] pour confondre les deux ;)
Benamour Jr
le 26/03/2010 à 23:22
Espace membre : session + cookie
correction du dernier code :

<?php
if (!empty($_SESSION['pseudo']))
{
$pseudo = $_SESSION['pseudo'];
}
if (!empty($_COOKIE['pseudo']))
{
$pseudo = $_COOKIE['pseudo'];
}
?>
Benamour Jr
le 26/03/2010 à 23:19
Espace membre : session + cookie
Bonsoir,

je suis en train de développer un espace membre où le visiteur à le choix d'utiliser les cookies où non (dans ce dernier cas, tout est géré par session_start()). Donc je dois utiliser les superglobales $_SESSION ou $_COOKIE. Le "problème" c'est que quand je programme mes pages je dois faire face aux deux possibilités. Prenons ce petit bout de code (destiné à modifier son mot de passe dans un espace membre) qui s'arrête à ma question :

<?php
if (!empty($_SESSION["pseudo"]) OR !empty($_COOKIE["pseudo"]))
{
if (isset($_POST["chg_mdp"]))
{
// connexion à la bdd
try
{
$bdd = new PDO('mysql:host=localhost;dbname=estoriai_archive', 'estoriai_Ben', '*****');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}

// vérifier que l'ancien mot de passe est correct
$req_verif_mdp = $bdd->prepare('SELECT mdp FROM membre WHERE pseudo = :pseudo');
$req_verif_mdp->execute(array('pseudo' =>
}
}
?>


Comme je ne sais pas si le visiteur naviguera sur la page via une session ou des cookies, j'aurais aimé pouvoir faire un truc du style :

<?php
$req_verif_mdp->execute(array('pseudo' => $_SESSION['pseudo'] OR $_COOKIE['pseudo']));
<?


Bien entendu ca ne marche pas :(
Mais est-ce qu'il existe une méthode du style qui me permettrait de devoir éviter de devoir écrire à chaque fois un code du style :

<?php
if (!empty($_SESSION['pseudo']))
{
$pseudo = $_SESSION['pseudo'];
}
if (!empty($_SESSION['pseudo']))
{
$pseudo = $_COOKIE['pseudo'];
}
?>


Ca marche mais ca me parrait trop redondant pour qu'il s'agisse du code le plus optimal... Donc si qqn avait une solution plus courte à proposer, je suis preneur :)
Benamour Jr
le 25/03/2010 à 10:11
La fonction crypt() utilisée pour un .htpasswd
la fonction crypt ne donne justement pas toujours le meme résultat pour la meme valeur, fais le test :

<?php
$crypted = crypt('pomme');
echo $crypted;
$crypted = crypt('pomme');
echo $crypted;
?>


moi perso j'ai à chaque fois deux codes différents ^^

En fait j'ai eu la réponse sur un autre forum, si ca t'intéresse :

Le sel aléatoire (impliquant un mot de passe toujours différent) ainsi que la méthode de hashage sont inclus dans le hash généré, c'est comme ça que le programme peut comparer avec le mot de passe fourni en clair (en le hashant avec la même méthode et le même sel)

$1$AfXtV3DR$FMnRUa/IARCwP9050VcgJ/

en gras le sel (avec $1$ désignant la méthode de hashage MD5)
Benamour Jr
le 25/03/2010 à 00:24
La fonction crypt() utilisée pour un .htpasswd
Salut,

Je suis en train d'essayer de comprendre la fonction crypt()...
A ce que j'ai compris son cryptage dépend d'une clé.
Dans un tuto extérieur, un programmeur propose un générateur de mot de passe crypté utilisé pour les .htaccess ainsi que son code source. Il n'y crypte pas le mot de passe en fonction de notre pseudo (ce qui m'aurait semblé logique), donc ca veut dire que la clé est aléatoire et que même si on renseigne à chaque fois un pseudo identique et un mot de passe identique, on aura un mot de passe crypté différent. Ce mot de passe crypté sans prendre en compte le pseudo est stocké dans le fichier .htpasswd.

Ma question : Comment se fait-il que lorsque l'on veut accéder à une page du dossier protégé par cette méthode, le mot de passe que l'on indique colle toujours avec le mot de passe crypté dans le .htpasswd alors qu'il a été crypté sans utiliser le pseudo associé ?
LoadingChargement en cours