Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Over le le 12-05-2009 a 16:05:15

Titre: Besoin d'aide Merci
Posté par: Over le le 12-05-2009 a 16:05:15

Bonjour à vous tous,
Je viens de découvrir ce forum et le trouve très interessant, et vous remercie pour ce que je viens d'apprendre.
Mon soucis est le suivant:
www.beatrice-dg.com
je me suis lancé dans la création d'un site pour mon amie photographe.
Vous pouvez constater une tribune libre sur la page d'accueil, le probleme c'est qu'ellle n'écrit aucune donnée.
Petit descriptif : My SQL v5 , site hébergé par 1&1
le script est le suivant :
<?php
$serveur = 'db1890.1and1.fr';
$user = '*******';
$pass = '********';
$bdd = '*********';
$connect= mysql_connect($serveur ,$user ,$pass) or die
mysql_select_db($bdd ,$connect) or die
if ( isset($_POST['message']) && isset($_POST['pseudo']) && !empty($_POST['message']) && !empty($_POST['pseudo']) )
{

pseudo = htmlspecialchars($_POST['pseudo']) ;
$message = htmlspecialchars($_POST['message']) ;
$date = date('YmdHis');
mysql_query("INSERT INTO `mini-chat` VALUES ('' ,'$pseudo' ,'$message' ,'$date')");
}


$req=mysql_query("SELECT * FROM `mini-chat` ORDER BY `id`") ;
$recup= mysql_fetch_assoc($req);


mysql_close();

?>
<?php
while($recup = mysql_fetch_assoc($req) )
{
?>
<table align="center" width="300px" border="0.5px">
<tr>
<th width="40" scope="col"><?php echo $recup['pseudo']; ?></th>
<th width="" scope="col"><?php echo $recup['message']; ?></th>

</tr>
</table>
<?php } ?>

<form method="post" name="mini-chat" action="" >
Pseudo:<input type="text" name="pseudo" /><br /><br />
Message:<textarea name="message"></textarea><br /><br />
<input type="submit" value="Envoyer"/>
</form>


Variables déclarées dans ma base :
id int(11) autoincrement
pseudo varchar 255
message varchar 255

je me demande si cela ne viens pas des actions définies sur ces dernières auxquelles je ne sais pas trop à quoi elles correspondent, primaire, index, unique, texte....

Je pense avoir donné un maximum d'informations, si vous avez besoin de precision n'hésité pas.

Merci d'avance.

p.s: www.mxbea.hbg.fr a cette adresse il fonctionnait parfaitement, ce que je comprends encore moins ... vous pouvez tester

Titre: Re:Besoin d'aide Merci
Posté par: Lilian le le 12-05-2009 a 20:26:38

Bonjour,

Si vous fermez la connexion avant de faire votre assoc, les données sont libérées.

Il faut donc faire comme cela

mysql_query()
while($data = mysql_fetch_assoc($query)){

}

mysql_close()


Titre: Re:Besoin d'aide Merci
Posté par: Over le le 12-05-2009 a 21:15:44

merci.
vos conseils ainsi qu'une redefinition des variables, et c'est bon.parfait.

Titre: Re:Besoin d'aide Merci
Posté par: Lilian le le 12-05-2009 a 21:23:24

Content d'avoir résolu le problème ;)

L'expérience aidant :) !

Titre: Re:Besoin d'aide Merci
Posté par: Over le le 12-05-2009 a 21:43:33

Dans ce cas je vais abuser de votre gentillesse, et de votre expérience ;) pour vous demander une seconde chose.Si vous avez regarder rapidement la gallerie, il y a une suite de miniature créée a la volée à l'aide du script suivant :

<?php
error_reporting(E_ALL | E_STRICT);

define ("NBRE_COLONNES", 4);

$types_ok = array ('image/jpeg', 'image/gif', 'image/png');
$tabl_exclus = array ('.', '..', 'miniature');
$tabl_liens = array();


function liste_repertoire($dir) {
   if ($handle = opendir($dir)) {
      while (($file = readdir($handle)) !== false) {
         $chemin_fichier = $dir.'/'.$file;
         if (is_dir($chemin_fichier)) {
            if (!in_array($file, $GLOBALS['tabl_exclus'])) {
               liste_repertoire($dir.'/'.$file);
            }
         } else {
            if (est_image($chemin_fichier)) {
               $chemin_miniature = $dir.'/miniature/'.$file;
               if (!file_exists($chemin_miniature)) {
                  genere_miniature($dir, $chemin_fichier, $chemin_miniature);
               }
               ajoute_lien($chemin_fichier, $chemin_miniature, $file);
            }
         }
      }
      closedir($handle);
   }
}


function est_image($chemin_fichier) {
   if (list($GLOBALS['largeur'], $GLOBALS['hauteur'], $type) = getimagesize($chemin_fichier)) {
      $type = image_type_to_mime_type($type);
      if (in_array($type, $GLOBALS['types_ok'])) {
         $ext = explode("/", $type);
         $GLOBALS['extension'] = $ext[1];
         return true;
      }
   }
   return false;
}


function genere_miniature($dir, $chemin_image, $chemin_miniature) {
   
   $taille_max = 100;
   if ($GLOBALS['largeur'] <= $GLOBALS['hauteur']) {                        
      $ratio = $GLOBALS['hauteur'] / $taille_max;
   } else {
      $ratio = $GLOBALS['largeur'] / $taille_max;
   }
   
   
   $larg_miniature = $GLOBALS['largeur'] / $ratio;
   $haut_miniature = $GLOBALS['hauteur'] / $ratio;
   
   
   $destination = imagecreatetruecolor($larg_miniature, $haut_miniature);
   
   
   $source = call_user_func('imagecreatefrom'.$GLOBALS['extension'], $chemin_image);
   
   
   imagecopyresampled(   $destination,
            $source,
            0, 0, 0, 0,
            $larg_miniature,
            $haut_miniature,
            $GLOBALS['largeur'],
            $GLOBALS['hauteur']);
                  
   
   if (!is_dir($dir.'/miniature')) {
      mkdir ($dir.'/miniature', 0700);
   }
   
   call_user_func('image'.$GLOBALS['extension'], $destination, $chemin_miniature);
   
   imagedestroy($destination);
   imagedestroy($source);
}

function ajoute_lien($chemin_image, $chemin_miniature, $file) {
   // Récupère la taille de la miniature sous forme HTML (width="xxx" height="yyy")
   $taille_html_miniature = getimagesize($chemin_miniature);
   $taille_html_miniature = $taille_html_miniature[3];
   
   // Rajoute le lien vers l'image au tableau global $GLOBALS['tabl_liens']
   $lien = '<a href="'.$chemin_image.'">';
   $lien .= '<img src="'.$chemin_miniature.'" '.$taille_html_miniature.' alt="'.$file.'">';
   $lien .= '</a>'."\n";
   
   array_push($GLOBALS['tabl_liens'], $lien);
}


function affichage() {
   $compteur = 1;
   foreach ($GLOBALS['tabl_liens'] as $val_lien) {
      if ($compteur % NBRE_COLONNES == 4) {
         echo '<br>';
      }
      echo $val_lien;
      $compteur++;
   }
}
?>

auto didacte en php, je suis loin de tout maitriser, le script suivant réalisé en piochant à droite à gauche, ouep je fais ma tembouille en php :D mais je voudrais encore l'améliorer.
Je voudrais afficher "on-clic" un format plus grand du thumbnails sur la meme page, et non sur une page differente. Et là, je vous avoue que je butte.
Votre aide me serait tres utile. Et sinon que pensez vous du site en général ?? ( pas terminébien sur)

Titre: Re:Besoin d'aide Merci
Posté par: Krash le le 12-05-2009 a 23:01:30

Bonsoir,

pour une gallerie photo, une lightbox est super

Voici le lien ou tu trouveras des explications ainsi que tous les fichiers à télécharger

http://www.huddletogether.com/projects/lightbox2/

Titre: Re:Besoin d'aide Merci
Posté par: Lilian le le 12-05-2009 a 23:06:55

+ 1 pour lightbox :)

Titre: Re:Besoin d'aide Merci
Posté par: Over le le 13-05-2009 a 00:15:24

merci pour la rapidité de réponse.
un petit peu mal au crane, j'ai passé tout l'aprem et toute la soirée sur le site :-\
je vois ca demain et j'espère ne pas avoir trop de difficultés à le mettre en place.
Merci encore!!! :-*


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.