laura

Inscris le 25/09/2009 à 15:52
  • Signature
    Des étoiles dans les yeux, le ciel pour m'évader
  • Nombre de sujets
    6
  • Nombre de messages
    74
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

laura
le 12/10/2009 à 15:45
Simple idée d'amélioration du site
Alors :p des propositions pour le site ^^
Sur le forum :
Un plus grand textarea (qui fait la longueur de la page)
Un bouton éditer (pour se corriger)
Garder l'indentation du code.
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 14:28
Requête SQL
Bon je vais essayer de te donner des pistes ^^
Déjà change ta requête. Retires le count pour récupérer les champs dont tu vas avoir besoin pour le tri.
Ensuite change :
<?php
$data = mysql_fetch_array($req);
?>


par

<?php
if ($req)
{
$row=array();
while($row = mysql_fetch_array($req,MYSQL_ASSOC))
{
$data[] = $row;
}
mysql_free_result($req);
}
?>

Tu crées un tableau représentatif de tes piments.

Ensuite tu tests simplement

<?php
if(empty($data))
{
//insert
}
else
{
foreach($data as $key=>$value)
{
//tu parcours tes résultats et tu inscrimentes ton tableau selon le cas
}
}
?>
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 14:08
erreur sql
Si tu n'as pas d'erreur garde ton code ainsi ^^ Mon poste sur les accolades, c'était juste pour te donner une bonne habitude à prendre.

Juste au cas ou :
Si tu fais une modif sur la requête (ajouter/supprimer un champ) tu dois aussi faire de même sur la table en base de données.
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 13:44
centrer "inscription" et le formulaire
Pour center ton formulaire, tu dois utiliser les feuilles de style (css)

Là t'as 2 solutions soit tu utilises un id pour lier ta balise à la feuille de style

<style type="text/css">
#form_inscription{
text-align:center;
}
</style>

<form action="inscription.php" method="post" id="form_inscription">

Soit tu utilises class

<style type="text/css">
.form_inscription{
text-align:center;
}
</style>

<form action="inscription.php" method="post" class="form_inscription">
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 12:55
Requête SQL
En lisant ton code je vois que tu n'as pas besoin d'autant de requêtes vers la base de données. Une seule requête (SELECT). Tu tests si celle ci retourne un résultat == 0 si cela est le cas tu fais un INSERT sinon tu tries avec php.

Un autre conseil évite le * dans une requête, c'est peu optimisé. Il est préférable de mettre le nom des champs que tu veux chercher.

C'est juste une piste en lisant ton code à toi de voir la meilleure des méthodes pour toi smiley
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 12:47
erreur sql
Pour éviter les erreurs d'accolade, il faut toujours fermer celle-ci après ouverture.

Ex if(){}

Si tu prends cette habitude, tu vas te faciliter la vie smiley

Un autre petit conseil, il faut toujours indenter ton code (le mettre en forme) car ainsi tu vois plus facilement les erreurs d'accolades et autres.
Tu peux aussi mettre un commentaire sur l'accolage fermente.

<?php
if()
{
foreach()
{
if()
{
}//if
}//foreach
}//if
?>
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 12/10/2009 à 12:37
Message d'erreur lors de l'insertion de l'image
Je suis d'accord sur le principe (une base de données stocke des données) mais en réduisant la charge du serveur de fichier, tu augmentes la charge du serveur sql.
Serveur déjà très sollicité dans un site dynamique (même avec un cache optimisé).
Le but de diviser en plusieurs serveurs étant de diviser la charge de travail pour éviter qu'un serveur soit down pour cause de surcharge.

De plus le serveur de fichier n'est pas systématiquement sollicité a cause du cache de données des navigateurs modernes.

Alors qu'une page dynamique qui possède les images en bdd sera toujours sollicitée (ou presque) dans ton programme.
Un autre petit point, l'utilisation du base de données pour cela va augmenter la conso de ressource système car l'image sera stockée en RAM comme de la données brutes pendant un bon laps de temps.
Je pense qu'il y a des pours et des contres aux 2 méthodes.
Je vais aller lire l'article en question smiley C'est un sujet qui m'intéresse
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 11/10/2009 à 22:16
Requête SQL
Je ne comprends pas trop tes 2 messages, c'est dur de comprendre sans code smiley
C'est sans doute logique pour toi car t'as ton code devant les yeux mais pour nous qui n'avons aucune idée de ton programme c'est du chinois smiley
Des étoiles dans les yeux, le ciel pour m'évader
laura
le 11/10/2009 à 22:09
erreur sql
Je ne suis pas pour les INSERT comme ça :

<?php
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';
?>


Pour moi il manque un morceau que je trouve indispensable

<?php
$sql = 'INSERT INTO membre (id , login , pass_md5, email) VALUES (NULL , "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';
?>

Cela permet de lier les données à insérer aux champs présents dans la table , donc moins de risque d'erreur.
Bon c'est juste une subjection smiley
Des étoiles dans les yeux, le ciel pour m'évader
LoadingChargement en cours