Vous n'êtes pas identifié(e).
Pages : 1
Bon tu va rigoler, j'ai finalement pas testé l'affichage de cette variable car en relisant mon dernier post, je me suis aperçu que dans mon fichier index.php je fesai appel a la variable $num et dans mon delete.php à $Num.
J'ai donc rajouté la majuscule dans mon index.php et là miracle ça fonctionne!
Il va falloir que je sois plus méticuleux à l'avenir...
En tout cas merci pour ton conseil.
Maintenant il me reste plus qu'a supprimer le fichier uploadé et mon projet sera pratiquement fini!
Bon je ne comprend toujours pas, j'ai retourné le problème dans tous les sens et j'en suis arrivé a la conclusion que le problème vient bien de l'appel de la variable $num car je l'ai remplacé par une valeur contenu dans la colonne et l'enregistrement est bien effacé...
Je suppose que mon appel de la variable $num dans ma requète sql de mon fichier delete.php est mal interfacé avec mon fichier index.php où la variable $num est déclaré.
delete.php
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
include (index.php);
$Num = $_GET['id'];
$suppr = "DELETE FROM applis_tbl WHERE id='$Num'";
mysql_query($suppr) or die(mysql_error());
echo '<script type="text/javascript">
alert("Appli supprimée avec succès !");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
}
mysql_close();
?>
index.php
while($row = mysql_fetch_row($result)){
$Num = $row[0];
$Nomapp = $row[1];
$Urlapp = $row[2];
$Nomclient = $row[3];
$Date = $row[4];
echo "<tr align=center>\n
<td>".$Num."</td>\n
<td><a href=\"$Urlapp\">".$Nomapp."</a></td>\n
<td>".$Urlapp."</td>\n
<td>".$Nomclient."</td>\n
<td>".$Date."</td>\n
<td><form name=del action=delete.php?id=$num method=post target=_parent><input type=submit value=Supprimer></form></td>\n
</tr>\n";
}
}
mysql_close();
J'ai pour réponse ceci:
DELETE FROM applis_tbl WHERE id = 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 '' at line 1
Tu veux dire comme ça?
index.php
delete.php
define("HOST", "localhost");
define("username", "***");
define("PASSWORD", "****");
define("DATABASE", "Android");
$num = $_GET['id'];
$serveur = mysql_connect (HOST, username, PASSWORD);
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
$suppr = "DELETE FROM applis_tbl WHERE id = ".$num."";
mysql_query($suppr);
echo '<script type="text/javascript">
alert("Le fichier $fichier a été supprimé avec succès");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
}
mysql_close();
?>
Avec ce code ca ne fonctionne pas non plus
Alors en fait j'ai décidé d'y aller étape par étape dans le fichier delete.php
J'essaye d'abord de supprimer l'enregistrement de la base avec ce code qui fonctionne mais dans ma requete sql a la place de '1' j'aimerai faire appel à la variable $Num contenue dans mon index.php.
Quand je me cette variable rien ne marche.
<?php
include (index.php);
define("HOST", "localhost");
define("username", "****");
define("PASSWORD", "*****");
define("DATABASE", "Android");
$serveur = mysql_connect (HOST, username, PASSWORD);
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
$suppr = "DELETE FROM applis_tbl WHERE id = '1'";
mysql_query($suppr);
echo '<script type="text/javascript">
alert("Le fichier $fichier a été supprimé avec succès");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
}
mysql_close();
?>
Ok bon j'ai essayé d'ajouter cette fonction de suppression mais je ne sais pas du tout comment la créer...
J'ai déjà ajouté l'ajout automatique d'un bouton "supprimer" qui renvoi à un srcipt delete.php comme ceci:
Le bouton apparait bien en fin de ligne et renvoi bien sur mon script delete.php mais maintenant je ne sais pas trop comment dire dans ce script, supprimer l'enregistrement de la bdd ainsi que le fichier dnas son répertoire.
J'ai écris ceci mais rien ne semble fonctionner:
Pouvez vous me guider sur cette partie? merci
if( isset($_POST['del'])) {
$delfichier = $dossier. $fichier;
if( file_exists ( $delfichier)){
if(unlink($delfichier))
echo '<script type="text/javascript">
alert("Le fichier $fichier a été supprimé avec succès");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
else
echo '<script type="text/javascript">
alert("Erreur lors de la suppression du fichier $fichier");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
}
else
echo '<script type="text/javascript">
alert("Le fichier $fichier n existe pas");
document.location.href = "http://192.168.0.11/Android/index.php";
</script>';
}
?>
Youpi ça marche! J'ai trouvé mon erreur! en fait dans ma requete sql j'ai oublié de modifié date par dateup!
Ben oui comme j'ai changé le nom du champs suite à une remarque plus haut.
Maintenant le code qui fonctionne est celui-ci:
$serveur = mysql_connect (HOST, username, PASSWORD);
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
$query = "SELECT * FROM applis_tbl ORDER BY dateup DESC";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$Num = $row[0];
$Nomapp = $row[1];
$Urlapp = $row[2];
$Nomclient = $row[3];
$Date = $row[4];
echo "<tr align=center>\n
<td>".$Num."</td>\n
<td><a href=\"$Urlapp\">".$Nomapp."</a></td>\n
<td>".$Urlapp."</td>\n
<td>".$Nomclient."</td>\n
<td>".$Date."</td>\n
</tr>\n";
}
}
mysql_close();
?>
Maintenant dernière étape du projet ajouter un bouton supprimer en fin de chaque ligne pour supprimer l'enregistrement de la bdd mais aussi le fichier uploadé dans le répertoire...
J'ai l'impression que ca va être le truc le plus complexe à faire...
Vous avez des idées?
Bon j'ai changé la page en index.php le tableau est maintenant correctement affiché mais les données de ma base de donnée toujours pas affichées...
Donc j'ai repris le même code de connection à la base que mon formulaire d'upload qui lui fonctionne.
Je suppose que le problème doit commencer à partir du while mais ne trouve toujours pas pourquoi les données ne sont toujours pas affichés dnas le tableau..
$serveur = mysql_connect (HOST, username, PASSWORD);
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
$query = "SELECT * FROM applis_tbl ORDER BY date DESC";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$Num = $row[0];
$Nomapp = $row[1];
$Urlapp = $row[2];
$Nomclient = $row[3];
$Date = $row[4];
$cr="\n";
printf("<tr>%s<td>%s</td>%s<td><a href=%s>%s</a></td>%s<td>%s</td>%s<td>%s</td>%s<td>%s</td>%s</tr>%s",
$cr,$Num,$cr,$Urlapp,$Nomapp,$cr,$Urlapp,$cr,$Nomclient,$cr,$Date,$cr);
}
}
mysql_close();
?>
</table>
ah je crois que je viens de comprendre.
En gros je suis un boulet!
Dans un .html on peut mettre du html et du javascript et non du php.
Le php ne peut etre interpreté par le serveur que si celui-ci est contenu dans un fichier .php!
C'est bien ça? ah je crois que je progresse...
Mais comment faire l'appel de la partie de code php qui m'intéresse depuis la page index.html?
non ce code est inclu dans mon index.html
Exacte quand je fais, voir code source dans le navigateur, toute la portion de code commençant par <?php jusqu'a printf("<tr> est en rose et semble ne pas être interpretré...
et juste après "printf("<tr>" le code est ensuite de couleur normale. Bizarre qu'il reprenne l'interpretation au milieu des balises php...
Y'a t il une déclaration a faire au début de la page html pour l'utilisation du php?
Aie je pense que le problème doit se situer ailleurs car j'ai le même comportement avec ton code qu'avec l'ancien...
Le bout de code: %S%s%s%s%s%s%s",$cr,$Num,$cr,$Urlapp,$Nomapp,$cr,$Urlapp,$cr,$Nomclient,$cr,$Date,$cr); } mysql_close(); ?> apparait juste au dessus du tableau. Bizarre ça...
Et dans le tableau j'ai %s qui apparait à la place des données.
Voilà le code que j'ai mis:
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$query = "SELECT id,nom_appli,url_appli,nom_client,dateup FROM applis_tbl ORDER BY date DESC";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$Num = $row['id'];
$Nomapp = $row['nom_appli'];
$Urlapp = $row['url_appli'];
$Nomclient = $row['nom_client'];
$Date = $row['dateup'];
$cr="\n";
printf("<tr>%S<td>%s</td>%s<td><a href='%s'>%s</a></td>%s<td>%s</td>%s<td>%s</td>%s<td>%s</td>%s</tr>%s",$cr,$Num,$cr,$Urlapp,$Nomapp,$cr,$Urlapp,$cr,$Nomclient,$cr,$Date,$cr);
}
mysql_close();
?>
</tr>
</table>
Oui désolé, je vais essayer d'être plus précis.
Alors avec ce code:
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$query = "SELECT id,nom_appli,url_appli,nom_client,dateup FROM applis_tbl ORDER BY date DESC";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$Num = $row['id'];
$Nomapp = $row['nom_appli'];
$Urlapp = $row['url_appli'];
$Nomclient = $row['nom_client'];
$Date = $row['dateup'];
echo "<tr>\n
<td>'.$Num.'</td>\n
<td><a href=\'$Urlapp'\>'$Nomapp'</a></td>\n
<td>.$Urlapp.</td>\n
<td>.$Nomclient</td>\n
<td>"$Date"</td>\n
</tr>\n";
}
mysql_close();
?>
</tr>
</table>
j'obtiens ceci dans ma page:
\n \n \n \n \n \n \n"; } mysql_close(); ?>
N° Nom appli URL client date upload
'.$Num.' '$Nomapp' .$Urlapp. .$Nomclient "$Date"
A la place des variables $Num etc, je devrais avoir tous les champs rempli avec les données de ma base mais ca me renvoi uniquement le nom des variables...
Et a la première ligne juste au dessus de mon tableau s'affiche la ligne bizarre "\n \n \n \n \n \n \n"; } mysql_close(); ?>"
Vous voyez d'où vient le problème?
Merci pour tes remarques.
J'ai donc modifié dans ma base la colonne "date" par "dateup" et remplacé le * par chaques champs comme ceci et ca ne marche toujours pas.
Je pense que le problème viens plus de mon echo mais je trouve pas.... grrrr
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$query = "SELECT id,nom_appli,url_appli,nom_client,dateup FROM applis_tbl ORDER BY date DESC";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$Num = $row['id'];
$Nomapp = $row['nom_appli'];
$Urlapp = $row['url_appli'];
$Nomclient = $row['nom_client'];
$Date = $row['dateup'];
echo "<tr>\n
<td>'.$Num.'</td>\n
<td><a href=\'$Urlapp'\>'$Nomapp'</a></td>\n
<td>.$Urlapp.</td>\n
<td>.$Nomclient</td>\n
<td>"$Date"</td>\n
</tr>\n";
}
mysql_close();
?>
</tr>
</table>
Merci pour le coup de main!
Bonjour,
Bon finalement j'ai bien avancé hier soir puisque maintenant j'arrive a uploader un fichier dans un répertoire cible et d'enregistrer son url ainsi que le nom du formulaire.
En clair j'ai refait ma base sql comme ceci:
Depuis mon formulaire j'arrive a uploader mon fichier dans le répertoire choisi et la base enregistre bien toutes les données heure de l'upload comprise.
Maintenant, je cherche à afficher toutes les données contenues dans la base sous forme de tableau et là je vois pas bien d'où viens mon problème:
J'ai inséré ce code dans ma page index:
mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$query = "SELECT * FROM applis_tbl ORDER BY date DESC";
$result = mysql_query($query);
/* Recuperation des resultats/
while($row = mysql_fetch_row($result)){
$Num = $row['id'];
$Nomapp = $row['nom_appli'];
$Urlapp = $row['url_appli'];
$Nomclient = $row['nom_client'];
$Date = $row['date'];
echo "<tr>\n
<td>'.$Num.'</td>\n
<td><a href=\'$Urlapp'\>'$Nomapp'</a></td>\n
<td>.$Urlapp.</td>\n
<td>.$Nomclient</td>\n
<td>"$Date"</td>\n
</tr>\n";
}
/* Deconnexion de la base de donnees/
mysql_close();
avec ce code j'obtiens bien un tableau mais les données ne s'affichent pas. Il affiche que le texte contenu dans la partie echo entre les balises <td>...
De plus je ne sais pas quel est la bonne syntaxe pour faire appel aux variables $quelquechose dans les <td>
Vous voyez où est mon erreur?
Merci.
Ok merci pour le lien, j'ai commencé à lire et apparemment je suis tellement novice que je suis obligé d'aller voir ailleurs ce que certaines notions veulent dire.
Donc je pense que j'ai tellement de trucs a apprendre sur le sujet que ca va me prendre facilement plus d'une semaine et comme il faut que je bosse sur d'autres trucs je pense que je vais plutôt laisser tomber par manque de temps... :s
En tout cas d'avoir essayé de m'aider.
Ok pour l'histoire de la primary key je comprend le problème.
Pour ce qui est des liens vers les fichiers uploadé je n'avais pas du tout pensé à ça donc j'ai carrément rien prévu pour gérer ça.
Les applis devront être enregistrés a la racine du site dans le répertoire /applis/
Pour ce qui est de la requête je ne suis pas sur de comprendre. Je suis désolé, j'ai très peu de connaissance de tout ceci.
En fait, je pense qu'on devrait y aller étape par étape en commençant par créer la base de données.
Peux-tu me dire en fait directement ce que tu ferais pour créer une base de donnée adapté au projet?
Je pense que je comprendrais mieux mes erreurs en faisant la comparaison de ce que j'ai fait et ce que tu penses qu'il faut que je fasse et on gagnera plus de temps.
En tout cas, merci beaucoup pour ton aide.
Merci pour ta réponse rapide, c’est vrai que ce problème me stresse un peu.
Donc je vais essayer de me dé-stresser un peu et d’être plus cool.
En fait pour ce qui est de la gestion des fichiers au travers de la base de donnée, je ne sais pas absolument pas comment cela peut se gérer. Tu me parles de BLOB et pour être honnete avec toi je ne sais pas du tout de quoi il s'agit...
Je suis vraiment novice en la matière.
J’ai créé dans phpmyadmin la table suivante:
CREATE TABLE `applis_tbl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`client` varchar(255) NOT NULL,
`appli` tinytext NOT NULL,
`date` varchar(10) NOT NULL,
`heure` varchar(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_2` (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
En fait je crois, que pas mal de choses sont fausses dans cette table car je sais même pas si les format choisi sont justes. Donc il faudrait peu etre la recréer entièrement...
Pour mon fichier upload.php j’ai juste créer la connection et appelé les labels du fichier index.html:
<?php
define("HOST", "localhost");
define("username", "rempli");
define("PASSWORD", "rempli");
define("DATABASE", "Android.applis_tbl");
/* Connection à la base
********************************************************************/
$serveur = mysql_connect (HOST, username, PASSWORD);
/* Sélection de la base
********************************************************************/
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
echo "Enregistrement de l'appli...<br />";
$query = "INSERT INTO applis_tbl ( VALUES ('','.$client','.$appli','','')";
$req = mysql_query($query);
echo "Appli enregistrée correctement<br />";
}
?>
Quand j’essaye de faire un enregistrement, le formulaire semble bien se connecter a la base mais il n’y a aucun enregistrement...
Enfin voilà, tu as tout ce que j’ai fait, merci pour ton coup de main.
Bonjour à tous,
Je suis nouveau sur le forum et j'espère que vous pourrez m'aider dans mon projet.
Je vous explique mon problème:
J'ai un serveur sur mon réseau local sur lequel est installé:
- Un serveur web Apache/2.2.16
- Un PhpMyAdmin v.3.2.5 qui gère une base MySQL: 5.1.49
Mon projet:
Je voudrais créer une page qui serait uniquement accessible depuis mon réseau local, qui me permettrait via un formulaire:
- d’envoyer un fichier sur mon serveur dans un répertoire choisi nommé «applis» se trouvant à la racine du site et de l’enregistrer dans la bdd
- d’y associer en plus un nom via un champs de saisie de texte
Sous ce formulaire, j’aimerai que soit listé tous les fichiers qui ont été envoyés sur le serveur et présents dans le répertoire «applis» chacun étant identifié dans l’ordre suivant avec un numéro, le nom du fichier (cliquable et donc téléchargeable), le nom associé au fichier, une date et l’heure de l’upload.
J’aimerai aussi qu’au bout de chaque ligne figure un bouton supprimer pour supprimer l’upload en question de la bdd.
Enfin les fichiers doivent apparaitre par ordre décroissant, c’est à dire le dernier upload en haut de liste.
En fait, je vais m’en servir pour installer facilement des applications android trouvés sur le net sur mon mobile via cette page internet via mon réseau local. Le but étant d’envoyer une appli android sur le serveur via cette page depuis mon pc puis de m’y connecter via le browser de mon mobile pour lancer l’installation et cliquant sur le lien de l’appli.
J’ai cherché sur pas mal de forum comment implémenter tout ceci et en fait comme je suis débutant rien ne fonctionne.
J’ai déjà inséré dans ma page index.html le formulaire suivant que j’ai trouvé sur le net:
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Envoyez une appli:
<input type="file" name="appli"/>
<input type="text" size="20" value="Nom du client" name="client"/>
<input type="submit" value="Envoyer l'appli"/>
</form>
et j’ai créé un fichier upload.php qui n’a pas l’air de fonctionner avec ma base de donnée...
En clair, ca fait une semaine que je suis dessus et là, je suis complètement pommé... J’aimerai donc avoir l’aide de quelqu'un pour reprendre entièrement et clairement étape par étape ce que je dois faire pour réaliser ce projet.
Merci d’avance à tous pour votre aide.
Pages : 1