Récupération viariables PHP Formulaire

Fermé
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 28 nov. 2007 à 11:02
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 28 nov. 2007 à 12:22
Bonjour à toutes et à tous !

Bon, je vous explique rapidement mon problème.
J'ai une application a réaliser pour une entreprise, et je dois la faire en PHP sur le localhost. Il s'agit d'une application pour gérer le stock de l'entreprise. J'ai donc fait une première page constituée d'un formulaire pour renseigner le maximum de renseignements concernant le composant à enregistrer. Je vous donne le code :

<div class="frame">
<table border="0">
<form name='Composant' method=POST enctype='multipart/form-data' action='enrcomp.php'>
<tr><td>Type de composant :</td></tr>
<td><select name='type'>
<option value='0'># Informatique</option>
<option value='1'>Matériel</option>
<option value='2'>Logiciel</option>
<option value='3'>Fourniture</option>
<option value='4'>Divers</option>
<option value='5'># Radio</option>
<option value='6'>Micro</option>
<option value='7'>Accessoire</option>
<option value='8'>Divers</option>
<option value='9'># Autre</option></select></td>
<tr><td><br>Nom complet :</td></tr>
<td><input type='text' name='nom'></td>
<tr><td><br>Description</td></tr>
<tr><td><textarea rows=1 cols=30 name='description'></textarea></td></tr>
<tr><td><br>Date d'achat (format JJ/MM/AAAA)</td></tr>
<td><input type='text' size='10' name='date_achat'> Ex : 06/04/1987</td>
<tr><td><br>Quantité</td></tr>
<td><input type='text' size='3' value='0' name='qu'></td>
<tr><td><br>Joindre une fiche technique :</tr>
<td><input type='file' name=fichier></td>
<tr><td><br><input type='submit' value='Envoyer' name='Envoyer'></td></tr>
</form>
</table>
</div>


Ensuite, j'ai créé la page d'enregistrement des renseignements du composant dans la base SQL

<?php
session_start();
$type=$_POST['type'];
$nom=$_POST['nom'];
$description=$_POST['description'];
$date_achat=$_POST['date_achat'];
$qu=$_POST['qu'];
$fichier=$_FILES['fichier']['tmp_name'];
if(is_uploaded_file ($fichier)) {
$nomf=$_FILES['fichier']['name'];
$destination = "upload/".$nomf;
move_uploaded_file($fichier,$nomf);
}
else {
$nomf='<b><u>Aucun fichier</u></b>';
}
$requete="insert into gestion(nom,catégorie,description,date_achat,quantite,fichier) values ('".$nom."','".$type."','".$description."','".$date_achat."','".$qu."','".$fichier."');";
$resultat=$requete;
include('inc/header.php');
if ($resultat) {
echo ("<div class='frame'><p><center><h2>Enregistrement effectué</h2></center></p><p>Le composant déclaré a bien été enregistré dans la base de donnée. Vous pouvez le consulter dans la rubrique <a href='listcomp.php'><u>Composants enregistrés</u></a></p><p><center><a href='saisiecomp.php'>Enregistrer un autre composant</a></center></p></div>");
}
else {
echo ("<div class='frame'><p><center><h2>Un problème est survenu !</h2></center></p><p>Un problème est survenu lors de la transmission du composant. Veuillez contacter votre administrateur réseau.</p><p><center><a href='saisiecomp.php'>Recommencer</a></center></p></div>");
}
include('inc/footer.php');
?>


Et c'est la que je suis bloqué. Comme vous vous en doutez, je souhaiterais créer la page qui me manque, a savoir "listcomp.php" qui me permettra de consulter les données qui auront été préalablement saisis.

Pouvez vous me dire si mon code est correcte, et comment je dois procéder pour la création de la nouvelle page ?

J'ai déja un petit début pour la nouvelle page :

<?php
session_start();
include("inc/header.php");
?>
<div class="frame">
<?php
$requete="select nom,catégorie,description,date_achat,quantite,fichier from composant;";
$resultat=$requete;
?>
<table border=1><tr><td>Type</td><td>Nom</td><td>Description</td><td>Date d'achat</td><td>Quantité</td><td>Fiche jointe</td><td>Editer</td></tr>
<?php
echo("<tr><td>".$type."</td><td>".$nom."</td><td>".$description."</td><td>".$date_achat."</td><td><center>".$qu."</center></td><td>".$fichier."</td><td><a href='modifier.php'>Modifier</a></td></tr>");
echo("</table>");
include("inc/footer.php");
?>


Mais quand j'exécute la page, il me marque variable inconnues... Comment les récupérer de la page précédente ?
A voir également:

7 réponses

Dj Nam Messages postés 327 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 31 janvier 2014 41
28 nov. 2007 à 11:43
Bonjour,

Pour lister les données il te faut en premier lieu te connecter à ta base de données... je penses que tu sais faire
ensuite voici la requète :
<?php
$req = "SELECT * FROM gestion ORDER BY nom";
$result = $mysql_query($req);
echo "<table border=1><tr><td>Type</td><td>Nom</td><td>Descripti on</td><td>Date d'achat</td><td>Quantité</td><td>Fiche jointe</td><td>Editer</td></tr>";
while ($info = mysql_fetch_array($result)) {
echo "<tr><td>".$info['type']."</td><td>".$info['nom']."</td>
<td>".$info['description']."</td>
<td>".$info['date_achat']."</td>
<td><center>".$qu."</center></td>
<td>".$info['fichier']."</td>
<td><a href='modifier.php'>Modifier</a></td></tr>";
}
echo "</table>"; 
?>


voila qui devrait t'aider
0
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
28 nov. 2007 à 11:58
Merci !!!

Arggg Problème :

En fait, je n'ai aps encore accès a la base de données, je l'ai crée avec pgadmin III mais le service n'est pas activé. Le problème c'est que quand je demande a ce qu'il se connecte, il ne reconnais pas les variables pg_connect etc.

Il m'affiche cette erreur avec ton code :

Notice: Undefined variable: mysql_query

Je crois qu'il faut modifier certaines règles dans les configs, non ?
0
Le problème c'est que tes requetes sql ne sont executées à aucun moment. Tes lignes " $resultat=$requete; " ne font que définir une variable resultat identique à la variable requete

$sql="insert into machin where truc";//definition de la requete
mysql_query($sql) or die('Erreur SQL : '.mysql_error()); //execution de la requete
print('Message de confirmation');



Et pour intérroger la base :
$sql="select * from matable where machin"; //definition de la requete
$requete=mysql_query($sql) or die('Erreur SQL : '.mysql_error()); //execution de la requete
while($row=mysql_fetch_assoc($req); //on crée une boucle pour récupérer les entrées
{
//on affiche les résultats
print('ton bout de code html');
print($row['type']);
//ou on peut simplifier en faisant au préalable un extract($row); puis, il suffira de faire un print($type);
}


A adapter à ta page. Et pense, bien sur à préciser les infos de connexion à ta base de données avant de lancer les requetes.
0
si mysql_query() n'est pas reconnu c'est tout simplement que mysql n'est pas installé. Quant à PG admin, je le connais pas désolé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
28 nov. 2007 à 12:04
lol ok, mysql est installé puisqu'il est géré par easyphp 1.8. Mais moi je ne connais pas ce logiciel la, et je ne sais pas ou rajouter ma base dans mysql
0
je te conseill de créer un fichier config.php ou tu entres ceci :

$serveur ="nomdetonserveur";
$login="tonlogin phpmyadmin";
$pass="ton mot de passe";
$base="tabase";
$sqlconnect = mysql_connect($serveur,$login,$pass) or die ('Erreur : la base de données n'a pas été trouvée);
mysql_select_db($base,$sqlconnect);


il te suffira de l'appeler par un simple include('config.php'); avant de lancer tes requetes

Et pour ton vilan "Notice: Undefined variable: mysql_query ", as-tu vérifié que la variable contenue dans mysql_query est bien la même que celle que tu as défini plus haut ?
0
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
28 nov. 2007 à 12:22
Normalement oui.

Bon, je vais voir ce que ca donne, tu aura une réponse de ma part d'ici demain. ++
0