Je viens vous trouver, car après de long moment de recherches et d'essai, je m'avoue un peu vaincu et je ne sais plus trop quoi essayer. C'est pour cela que je suis ici
Je vous explique le projet rapidement. Je dois créer une interface d'affichage sur TV. Un prof, via l'emploi du temps que je fait, choisi quoi afficher pendant des horaire défini (photo, vidéo, pdf, etc).
Pour ce faire, j'ai une page d'accueil sous forme d'emploi du temps de la semaine :

Lorsque je clique sur un des bouton "organiser", j'obtiens la fenetre suivante :

Donc a ce moment, on choisi dans la liste déroulante ce que l'on veut choisir (ici photo)
Dans un premier temps il y avait les champs "date" et "parcourir" pour tous, mais m'étant heurtez a la limite des 2mo en upload, ça allait pas pour les vidéos.
J'ai donc décidé de faire un page php pour chaque type de fichier, et de l'afficher selon le choix de la liste, a la suite de celle-ci.
Or j'ai maintenant un problème, lorsque je choisi une photo, et que je clique sur le bouton d'envoi, la page est raffraichi, mais rien d'upload, ni de mis a jour dans ma base de donnée :s
Je pense que le soucis viens du fait que j'ai deux formulaires, et qu'il y a donc un souci, mais je ne trouve pas comment le résoudre :/
voici le code de la page "organisation" :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Organisation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>
<body>
<!-- affichage du titre en récupérant les valeurs dans l'URL -->
<?php
$cellule = $_GET['numcellule'];
$nomjour = $_GET['jour'];
$heure = $_GET['horaire'];
?>
<p>
<h1>Organisation</h1>
<h5>de la cellule n°<?php echo $cellule?> (<?php echo $nomjour . ' de ' . $heure . ' à ' . ($heure+1); ?>)</h5>
<p>
<br /><br />
<!-- Création de la fonction pour conserver le choix de la liste déroulante -->
<?php
function choixParDefaut($typefichier)
{
$par_defaut = '';
if (isset($_POST['typefichier']))
{
if ($_POST['typefichier'] == $typefichier)
{
$par_defaut='selected="selected"';
}
}
return $par_defaut;
}
?>
<!-- Liste déroulante pour choisir le type de fichier -->
<form method="POST" class="centrer" >
<p>
<label for="typefichier">Type de fichier</label><br />
<select name="typefichier" id="typefichier" tabindex="10" onChange='javascript:this.form.submit();>
<option value="vide" selected="selected" <?php echo choixParDefaut('vide'); ?>> </option>
<option value="photo" <?php echo choixParDefaut('photo'); ?>>Photo</option>
<option value="video" <?php echo choixParDefaut('video'); ?>>Vidéo</option>
<option value="emploitemps" <?php echo choixParDefaut('emploitemps'); ?>>Emploi du temps</option>
<option value="pdf" <?php echo choixParDefaut('pdf'); ?>>PDF</option>
</select> <br />
<!-- Switch pour afficher la page correspondante au type de fichier -->
<?php
if (!isset($_POST["typefichier"])) ($choix="vide");
else ($choix=$_POST["typefichier"]);
switch ($choix) {
case 'photo':
include "photo.php";
break;
case 'video':
include "video.php";
break;
case 'page4':
include "page4.php";
break;
case 'travail':
include "travail.php";
break;
}
?>
</p>
</form>
<br /><br />
<!-- Bouton de fermeture de page -->
<div id="pied_de_page">
<form>
<p style="text-align: center;">
<input type="button" value="Fermer la fenêtre" onclick="window.close()">
</p>
</form>
</div>
</body>
</html>
et le code de la page "photo.php" qui se rajoute lorsqu'on l'a choisi dans la liste :
<!-- formulaire pour récupérer les informations choisies -->
<form method="POST" class="centrer" enctype="multipart/form-data" >
<p>
<label for="date">Date (jj/mm/aa)</label><br />
<input type="text" name="date" id="date" value="<?php echo date("d/m/y"); ?>" tabindex="20" /><br />
<label for="fichier">Fichier</label><br />
<input type="file" name="fichier" id="fichier" tabindex="30" /><br />
<input type="submit" value="ok" />
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . basename($_FILES['fichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
?>
</p>
</form>
<br /><br />
<!-- si les champs sont remplis, on stock les infos dans des variables -->
<?php
if (isset($_POST['typefichier']) AND isset($_POST['date']) AND isset($_FILES['fichier']['name']))
{
$type = $_POST['typefichier'];
$date = $_POST['date'];
$fichier = $_FILES['fichier']['name'];
}
// On se connecte à la base de données
mysql_connect("localhost", "root", "") or die('Connexion impossible à la BDD');
mysql_select_db("projet_tut") or die('Erreux dans le choix de la BDD');
// Si les variables existent, on met a jour la table
if (isset($_POST['typefichier']) AND isset($_POST['date']) AND isset($_FILES['fichier']['name']))
{
//On récupère le numero de la cellule, le type de fichier, la date et le fichier
$requete = mysql_query("UPDATE planning SET type='$type', date='$date', lien='$fichier' WHERE cellule='$cellule'");
}
?>
Donc voila, je pense avoir tout expliqué, et j'espère que vous comprendrez mon soucis.
Merci d'avance pour vos explications et votre aide
Bonne soirée à tous !