Kniva

Inscris le 28/05/2010 à 14:51
  • Nombre de sujets
    2
  • Nombre de messages
    31
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
Kniva
le 02/06/2010 à 18:00
Problème de formulaire msyql
Bonjour, ou rebonjour.
Voila, un autre souci sur une autre page. J'ai fait une page identification. Sur cette page, soit on s'identifie, soit on s'enregistre. J'ai passé pas mal de temps dessus, mais je stagne sur cette faute

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /mnt/web9/31/99/52403599/htdocs/login.php on line 14
Requête en échec 1.

Je sais qu'un argument n'est pas valide, mais je n'arrive pas à savoir quoi
Voici la partie du code

<?php
/*Programme: Login.php
Description: Programme de login pour la section à accès réservé de la boutique.
Il propose 2 options: s'identifier
créer un nouveau compte.*/

session_start();
include("inf.php");//on définit la base de données, identifiant
switch (@$_POST['do'])
{
case "login":
$cxn=mysql_connect(SERVER,LOGIN,MDP,BDD) or die("Connexion impossible au serveur dans case login.");
$sql="SELECT loginName FROM member WHERE loginName='$_POST[fusername]'";
$result=mysql_query($cxn,$sql) or die ("Requête en échec 1.");
$num=mysql_num_rows($result);
if($num>0)//loginName non trouvé
{
$sql="SELECT loginName FROM member WHERE loginName='$_POST[fusername]' AND password=md5('$_POST[fpassword]')";
$result2=mysql_query($cxn,$sql) or die ("Requête en échec2.");
$num2=mysql_num_rows($result2);

if($num2>0) // mot de passe OK
{
$_SESSION['auth']="yes";
$logname=$_POST['fusername'];
$_SESSION['logname']=$logname;
$today=date("y-m-d h:i:s");
$sql="INSERT INTO Login(loginName,loginTime) VALUES ('$logname', '$today')";
$result=mysql_query($cxn,$sql) or die ("INSERT en échec.");
header("Location: membres.php");
}
else // mot de passe incorrect
{
$message="Le nom de Login '$_POST[fusername]' existe, mais le mot de passe ne correspond pas! Réessayez.<br>";
include("login_form.inc");
}
}
elseif($num==0)//Nom de longin introuvable
{
$message="Le nom de Login que vous avez saisi n'existe pas. Essayez une nouvelle fois.<br>";
include("login_form.inc");
}
break;
?>
Kniva
le 28/05/2010 à 14:56
problème pagination ( mysql)
Bonjour,
dans le cadre de mon stage de fin d'année, je suis amenée a faire une site web pour une libraire. Pour que les pages web soient plus lisibles, j'ai choisi de faire une pagination. Or, je rencontre un problème.
Voici mon code:
<HTML>
<HEAD>
<TITLE> Hon'Ya Manga DVD/CD </TITLE>
<link rel="shortcut icon" type="image/png" href="favicon.png" />
<LINK type="text/css" rel="stylesheet" href="styles.css">
<SCRIPT LANGUAGE="JavaScript">
var aujourdhui=new Date()
var heure=aujourdhui.getHours()
var minutes=aujourdhui.getMinutes()
var salutation

//De 1h du matin jusqu'à midi (non compris), c'est le matin
if (heure<=11)
{
salutation="Bonjour!"
}

//De midi à 17heures, c'est l'après midi
else if (heure > 11 && heure <18)
{
salutation="Bon après-midi!"
}

//De 18heures à 20 heures, c'est le soir
else if (heure > 17 && heure <21)
{
salutation="Bonne soirée!"
}

//De 21heures à minuit, c'est la nuit
else if (heure >20)
{
salutation="Bonne nuit!"
}

//Les minutes sont affichées sur 2chiffres. ON ajoute donc un 0 à tte valeur inférieure à 10.
if (minutes<10)
{
minutes="0"+minutes
}
document.write(salutation+"\nIl est "+ heure+"h"+minutes);

function popup(page) {
window.open(page,'popup','width=500,height=400,toolbar=false,scrollbars=false');
}
function popop(page) {
window.open(page,'popup','width=500,height=300,toolbar=false,scrollbars=false');
}
</SCRIPT>
<?php
function barre_naviguation($nb_total, $nb_affichage_par_page, $debut, $nb_liens_ds_la_barre)
{
$barre='';
/*on récupère l'URL courante munie de ses paramètres auxquels on ajoute le paramètre 'début' qui jouera le rôle du premier élément
de notre LIMIT*/
if($_SERVER['QUERY_STRING']== "")
{
$query=$_SERVER['PHP_SELF'].'?debut=';
}
else
{
$tableau=explode("debut=", $_SERVER['SUERY_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 calcule le numéro de la page active
$page_active=floor(($debut/$nb_affichage_par_page)+1);
//on calcule le nombre de pages totales que va prendre notre affichage
$nb_pages_tolal=ceil($nb_total/$nb_affichage_par_page);
//on calcule le premier numero qui va s'afficher, ainsi que le dernier($cpt_deb et $cpt_fin)
if($nb_liens_ds_la_barre%2==0)
{
$cpt_deb1=$page_active-($nb_liens_ds_la_barre/2)+1;
$cpt_fin1=$page_active+($nb_liens_ds_la_barre/2);
}
else
{
$cpt_deb1=$page_active-floor(($nb_liens_ds_la_barre/2));
$cpt_fin1=$page_active+floor(($nb_liens_ds_la_barre/2));
}
if($cpt_deb1<=1)
{
$cpt_deb=1;
$cpt_fin=$nb_liens_ds_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_ds_la_barre)+1;
$cpt_fin=$nb_pages_total;
}
if($nb_pages_total<=$nb_liens_ds_la_barre)
{
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}
//si les 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. ' ">&lt;&lt;</a>&nbsp;&nbsp;';
}
else
{
$lien='';
}
$barre .=$lien;
//on affiche ts les liens ds notre barre, tt en vérifiant de ne pas mettre de lien pr la page active
for($cpt=$cpt_deb;$cpt_fin;$cpt++)
{
if($cpt==$page_active)
{
if($cpt==$nb_pages_total)
{
$barre .=$cpt;
}
else
{
$barre .=$cpt.'&nbsp;&nbsp';
}
}
else
{
if($cpt==$cpt_fin)
{
$barre .="<a href=' ".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .="'>".$cpt."</a>&nbsp;-&nbsp;";
}
}
}
$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 naviguation, on affiche un >> qui sera un lien vers la dernière page
de naviguation.*/
if($cpt_fin!=$nb_pages_total)
{
$cible=$query.$fin;
$lien='&nbsp;&nbsp;<a href="' .$cible. '">&gt;&gt;</a>';
}
else
{
$lien='';
}
$barre .=$lien;
return $barre;
}
?>
</HEAD>
<BODY bgcolor="#9FB6CD">
<CENTER>

<div id="conteneur">

<TABLE class="page"border="0" cellspacing="0" cellpadding="0">
<TR >
<TD><img src="avant.png"><a href="login.php"onMouseOver="document.img_7.src='sidentifier1.png';"
onMouseOut="document.img_7.src='sidentifier.png';">
<img class="img" name="img_7" src="sidentifier.png"> </a></TD>
</TR>

<TR style="background-image: url(fondbann.png)" height="192"class="bann">

<TD align="center" valign="bottom"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="bottom"><img src="ideelogo.png"><IMG src="favicon1.png"><img src="bannierepersoconnu3.png"></td>
</tr>
<tr>
<td align="center" valign="bottom"><img src="adresse.png"></td>
</tr>
</table></TD>
</TR>
<TR align="center"style="background-image: url(fondmenu.png)" height="117">
<TD valign="top">
<TABLE border="0" cellspacing="0" cellpadding="0">
<TR>
<TD><a href="index.html"
onMouseOver="document.img_1.src='index1.png';"
onMouseOut="document.img_1.src='index.png';">
<img class="img" name="img_1" src="index.png"> </a></TD>
<TD><IMG src="favicon1.png"></TD>
<TD><a href="mangas.php"
onMouseOver="document.img_2.src='mangas1.png';"
onMouseOut="document.img_2.src='mangas.png';">
<img class="img" name="img_2" src="mangas.png"> </a></TD>
<TD><IMG src="favicon1.png"></TD>
<TD><a href="DVD.php"
onMouseOver="document.img_3.src='dvdcd1.png';"
onMouseOut="document.img_3.src='dvdcd.png';">
<img class="img" name="img_3" src="dvdcd.png"> </a></TD>
<TD><IMG src="favicon1.png"></TD>
<TD><a href="goodies.php"
onMouseOver="document.img_4.src='goodies1.png';"
onMouseOut="document.img_4.src='goodies.png';">
<img class="img" name="img_4" src="goodies.png"> </a></TD>
<TD><IMG src="favicon1.png"></TD>
<TD><a href="news.php"
onMouseOver="document.img_6.src='nouveautes1.png';"
onMouseOut="document.img_6.src='nouveautes.png';">
<img class="img" name="img_6" src="nouveautes.png"> </a></TD>
<TD><IMG src="favicon1.png"></TD>
<TD><a href="contact.html"
onMouseOver="document.img_5.src='contact1.png';"
onMouseOut="document.img_5.src='contact.png';">
<img class="img" name="img_5" src="contact.png"> </a></TD>
</TR>
</TABLE>
</TD>

</TD>
</TR>
<TR style="background-image: url(fondreste.png)" height="671" valign="top">
<TD>
<TAble border="0" cellspacing="0" cellpadding="0" align="center">
<TR valign="top">

<TD align="left"><a href="DVD.php"><IMG src="dvd.png"></a></TD>
<TD align="right"><a href="CD.php"><IMG src="cd.png"></a></TD>
</TR>
<TR >
<TD>
<?php
include("inf.php");
//on se connecte à notre base
$base=mysql_connect(SERVER,LOGIN,MDP);
mysql_select_db(BDD,$base);
/*on prépare une requête permettant de calculer le nbre total d'éléments qu'il faudra afficher sur
nos différentes pages*/
$sql='SELECT dvdTitre, dvdDate,dvdEditeur, dvdImage, dvdDescription FROM DVD';
//on exécute cette requête
$resultat=mysql_query($sql,$base) or die ('Erreur SQL!<br/>'.$sql.'<br/>'.mysql_errror());
//on récupère le nombre d'élements à afficher
$nb_total=mysql_fetch_array($resultat);
//on teste si ce nombre ne vaut pas 0
if(($nb_total=$nb_total[0])==0)
{
echo"Aucune réponse trouvée";
}
else
{
echo'<table>
<tr><td>dvdTitre</td><td rowspan="4">dvdImage</td></tr>
<tr><td>dvdDate</td></tr>
<tr><td>dvdEditeur</td></tr>
<tr><td>dvdDescription</td></tr>
</table>';
}
/*sinon, on regarde si la variable $debut ( le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on
l'initialise à 0.*/
if(!isset ($_GET['debut']))
{
$_GET['debut']=0;
$nb_affichage_par_page=1;
//preparation de la requete avec le LIMIT
$sql='SELECT dvdTitre, dvdDate, dvdEditeur, dvdDescription, dvdImage FROM DVD ORDER BY dvdDate DESC'
. $_GET['debut'] . ','. $nb_affichage_par_page;
//on exécute la requete
$req=mysql_query($sql) or die ('Erreur SQL!<br/>' .$sql. '<br/>'. mysql_error());
//on va scanner tous les tuples un par un
while($data=mysql_fetch_array($req))
{
//on affiche les résultats ds la <table>
echo'<tr><td>'. htmlentities (trim($data['dvdTitre'])).'</td></tr>';
echo'<tr><td>'. htmlentities (trim($data['dvdImage'])).'</td></tr>';
echo'<tr><td>' . htmlentities (trim($data['dvdDate'])) .'</td></tr>';
echo'<tr><td>' . htmlentities (trim($data['dvdEditeur'])). '</td></tr>';
echo'<tr><td>' . htmlentities (trim($data['dvdDescription'])). '</td></tr>';
}
//on libere l'espace memoire alloué pour cette requete
mysql_free_result($req);
echo'</table><br/>';
//on affiche enfin notre barre
echo'<span class="gras">' . barre_naviguation($nb_total,$nb_affichage_par_page, $_GET['debut'], 5) . '</span>';
}
//on libère l'espace memoire alloué pour cette reuqête
mysql_free_result($resultat);
echo'</table><br/>';
?>
</TD>
</TR>
</Table>
</TD>
</TR>
<TR>
<TD align="center"><A HREF='javascript:popup("mentions legalesdvd.html")'class="type1">Mentions l&eacute;gales</A>-
<A HREF='javascript:popop("credit.html")'class="type1">Cr&eacute;dit</A></TD>

</TR>
</TABLE>

</div>
</BODY>
</HTML>


Quand je vais sur le site, car il est en ligne, je tombe sur ce message d'erreur:

Aucune réponse trouvéeErreur SQL!
SELECT dvdTitre, dvdDate, dvdEditeur, dvdDescription, dvdImage FROM DVD ORDER BY dvdDate DESC0,1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC0,1' at line 1


Je suis presque sûr que mon erreur vient de cette ligne
$sql='SELECT dvdTitre, dvdDate, dvdEditeur, dvdDescription, dvdImage FROM DVD ORDER BY dvdDate DESC'
. $_GET['debut'] . ','. $nb_affichage_par_page;

mais je ne vois pas ce qu'il faut changer.
Pourriez vous m'éclairer? Merci beaucoup

Ses derniers messages sur les forums

forum
Kniva
le 13/06/2010 à 18:17
Formulaire avec fichier photo
Merci beaucoup pour ta réponse.
J'ai rentré image/pjpg comme tu me l'as indiqué, mais j'avais le même souci.
J'ai donc rajouté un e, donc écrit image/pjpeg et ça fonctionne.
Kniva
le 13/06/2010 à 12:23
Formulaire avec fichier photo
Moogli, aurais-tu la solution pour que ton code fonctionne sous IE??
En effet, j'ai un problème avec le type mime
Kniva
le 11/06/2010 à 13:36
Formulaire avec fichier photo
Bonjour, je relance un peu le sujet.
Voila, je me suis servi du script d Moogli et je rencontre un petit problème
Voila le formulaire
<html>
<form name="formu" action="post.php" method="post" enctype="multipart/form-data">
<input type="file" name="fichier" accept="image/jpg" /><br/>
<input type="submit" value="Go !!!!" /></form></html>



et le post.php
<?php
if (isset($_FILES['fichier']))
{
//$_FILES existe on récupère les infos qui nous intéressent
$fichier=$_FILES['fichier']['name'];//nom réel de l'image
$size=$_FILES['fichier']['size']; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'];//nom temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'];//type de l'image
list($width,$height)=getimagesize($tmp);
if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http
{
//vérification du type de l'img, son poids et sa taille
if ($type=="image/jpg" && $size<=100000 && $width<=200 && $height<=200 )
{
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
//On vérifie s'il existe une image qui a le même nom dans le répertoire
if (file_exists('./image/'.$fichier))
{
//Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la
//première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) )
$nom_final= preg_replace("`.jpg`is",date("U").".jpg",$fichier);
}
else {
$nom_final=$fichier; //l'image n'existe pas on garde le même nom
}
//on déplace l'image dans le répertoire final
move_uploaded_file($tmp,'./image/'.$nom_final);
//Message indiquant que tout s'est bien passé
echo "L'image a été uploadée avec succès<br/>";
}
else {
//Le type mime, ou la taille ou le poids est incorrect
echo 'Votre image a été rejetée (poids, taille ou type incorrect)';
}
}
}
//Pour tester si l'image est bien à sa place
echo '<img src="./image/'.$nom_final.'" border="0" />';
echo '<br/>';
?>


Le problème, c'est que j'ai toujours le message d'erreur du code qui s'affiche, me disant que votre image a été rejétée ( poids, taille ou type incorrect).

QU'est ce que j'ai mal changé?

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours