IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insertion de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut Insertion de données
    Bonjour tout le monde

    Voici mon problème, l'insertion de données ne se fait pas.

    Quand je clique sur le submit la page est blanche, même que les champs sont vides.

    Je pense que le problème vient de l'appel de la fonction.


    Voici le fichier ajout.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
     
    <TABLE BORDER="1" style="BORDER-COLOR:#646464">
     
    <FORM name="ajout" method="post" action="ajoutbook.php">
     
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">ISBN</font>
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="isbn" SIZE="30">
     
    </td></tr>
     
     
     
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Titre</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="title" SIZE="50">
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
    	<SELECT name="genre">
     
    	<option>-Choix genre-</option>
    	<option value="Polars & thrillers">Polars & thrillers</option>
     
    	</SELECT>
     
     
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Image</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    	<input type="hidden" name="MAX_FILE_SIZE" VALUE="25000" >
    		<INPUT TYPE="file" size="30" NAME="photo">
     
     
     
    		<?php
     
    			include("ajoutbook.php");
    		if(isset($_FILES['file'])){
     
    			transff();
     
    		}
    		?>
     
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Autheur</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="autheu" SIZE="20">
     
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Editeur</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="edit" SIZE="20">
     
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">ANNEE:</font>
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="annee" SIZE="20">
     
    </td></tr>
     
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">INFORMATION:</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
     
    <textarea name="info" rows="12" cols="50"></textarea>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
    <input type="submit" value="Ajouter" style="background-color:yellow">
    </td></tr>
     
     
    </FORM>
     
    </TABLE>
    Voici le fichier ajoutbook.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     
    <?php
     
    function transff(){
     
     
    $ret =false;
    $imagetaille =30;
    $imageMax = 250000;
     
    $Connexion = mysql_connect("localhost", "root", "");
     
    mysql_select_db(biblioth);
     
     
    if(!empty($_POST['isbn']) && !empty($_POST['title'])  && !empty($_POST['genre']) && !empty($_POST['autheu']) && 
     
    !empty($_POST['edit']) && !empty($_POST['annee']) && !empty($_POST['info']))
     
    {
     
     
     
    $ret= is_uploaded_file ($_FILES['photo']['tmp_name']);
     
     
    if(!$ret){
     
    echo "problème de tranfert";
     
    return false;
    }
    else
    {
     
    $imagetaille = ($_FILES['photo']['size']);
     
    	if($imagetaille > $imageMax)
    	{
     
    	echo "Image trop lourde";
     
    	}
    }
     
     
    $img_blob = file_get_contents ($_FILES['photo']['tmp_name']);
     
     
     
    mysql_query("INSERT INTO gestlivre (isbn,titre,genre,image,autheu,editeur,annee,information) VALUES 
    
    ('".$_POST['isbn']."','".$_POST['title']."','".$_POST['genre']."','".addslashes($img_blob)."','".$_POST['autheu']."',
    '".$_POST['edit']."','".$_POST['annee']."','".$_POST['info']."')");
     
    mysql_close($Connexion);
     
     
    }
     
    else
     
     
    {
    echo "aucun champs ne doit être vide";
     
     
     
    }
    }
     
     
     
    ?>
    Merci de votre aide

    A +

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Essaye d'allé voir dans le fichier de log de ton serveur http.
    Sous Unix c'est /var/log/httpd/error.log

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Rebonjour

    Ce n'ais pas un problème de login ni de mot de passe.

    C'est un problème qui est dans mon code.


    A +

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par argon Voir le message
    Rebonjour
    Ce n'ais pas un problème de login ni de mot de passe.
    C'est un problème qui est dans mon code.
    A +
    Le login et le mot de passe n'ont rien à voir là dedans. Justement compte tenu du fait que tu as un problème de code, tes message d'erreur de php se trouvent aussi dans le log httpd.
    Vas voir dans ce fichier tu comprendra mieux tes erreurs à l'avenir.
    Voici un exemple d'erreur php dans un log httpd.
    [Mon Aug 4 15:27:01 2008] [error] PHP Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /Apache/Documents/Class_Query.php on line 42

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    J'ai résolue mon problème pour l'appel de la fonction, mais j'ai un autre que ce présente.


    Voici l'erreur:
    Notice: Undefined index: file in C:\Program Files\EasyPHP 2.0b1\www\ajoutbook.php on line 26
    problème de tranfert
    J'ai essayé en déclarent $file mais ca ne fonctionne pas.

    Code fichier ajout.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    <TABLE BORDER="1" style="BORDER-COLOR:#646464">
     
    <FORM name="ajout" method="post" action="ajoutbook.php">
     
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">ISBN</font>
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="isbn" SIZE="30">
     
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Titre</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="title" SIZE="50">
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
    	<SELECT name="genre">
     
    	<option>-Choix genre-</option>
    	<option value="Polars & thrillers">Polars & thrillers</option>
     
    	</SELECT>
     
     
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Image</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    	<input type="hidden" name="MAX_FILE_SIZE" VALUE="25000" >
    		<INPUT TYPE="file" size="30" NAME="photo">
     
    <?php
     
    			include("ajoutbook.php");
    		if(isset($_FILES['file'])){
     
    			transf();
     
    		}
     
     
     
    ?>
     
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Autheur</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="autheu" SIZE="20">
     
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">Editeur</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="edit" SIZE="20">
     
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">ANNEE:</font>
    </td></tr>
     
    <tr><td bgcolor="#C0C0C0">
    <INPUT TYPE="text" NAME="annee" SIZE="20">
     
    </td></tr>
     
     
    <tr><td bgcolor="#C0C0C0">
    <font color="blue">INFORMATION:</font>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
     
    <textarea name="info" rows="12" cols="50"></textarea>
    </td></tr>
    <tr><td bgcolor="#C0C0C0">
     
    <input type="submit" value="Ajouter" style="background-color:yellow">
    </td></tr>
     
     
    </FORM>
     
    </TABLE>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?php
     
    transf();
     
    function transf(){
     
    $ret =false;
    $imagetaille =0;
    $imageMax = 250000;
    $file;
     
     
     
    $Connexion = mysql_connect("localhost", "root", "");
     
    mysql_select_db("biblioth");
     
     
    if(!empty($_POST['isbn']) && !empty($_POST['title'])  && !empty($_POST['genre']) && !empty($_POST['autheu']) && 
     
    !empty($_POST['edit']) && !empty($_POST['annee']) && !empty($_POST['info']))
     
    {
     
     
     
    $ret= is_uploaded_file ($_FILES['file']['tmp_name']);
     
     
    if(!$ret){
     
    echo "problème de tranfert";
     
    return false;
    }
    else
    {
     
    $imagetaille = ($_FILES['file']['size']);
     
    	if($imagetaille > $imageMax)
    	{
     
    	echo "Image trop lourde";
     
    	}
    }
     
     
    $img_blob = file_get_contents ($_FILES['file']['tmp_name']);
     
     
     
    mysql_query("INSERT INTO gestlivre (isbn,titre,genre,image,autheu,editeur,annee,information) VALUES 
    
    ('".$_POST['isbn']."','".$_POST['title']."','".$_POST['genre']."','".addslashes($img_blob)."','".$_POST['autheu']."',
    '".$_POST['edit']."','".$_POST['annee']."','".$_POST['info']."')");
     
    mysql_close($Connexion);
     
     
    }
     
    else
     
     
    {
    echo "aucun champs ne doit être vide";
     
     
     
    }
    }
     
     
     
    ?>
    A +

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    c'est "seulement" un warning mais si tu veux faire tout bien il faut tester l'existence de la variable avant de la faire bosser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (isset($_FILES['file']) {
    $ret = is_uploaded_file($_FILES['file']['tmp_name']);
    ....
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ah oui ca ne vas pas du tout

    Quand tu valides le formulaire, c'est la page ajoutbook.php qui s'execute, donc elle ne fait que lire la déclaration de la fonction.

    Si tu mets ton traitement de formulaire dans un page independante, le passage par ta fonction n'est pas utile.

    Tu peux aussi tout traiter sur le meme fichier : mettre ta declaration de fonction dans ton premier fichier et l'appeller quand le formulaire a été validé.
    if ( strtolower( $_SERVER['REQUEST_METHOD'] ) == 'post' )
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Rebonjour

    Que veux tu dire exactement sabotage?


    Je n'ais pas tres bien compris.

    A +

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand tu soumets le formulaire, c'est la page définie dans "action" qui est executée.
    Dans ce que tu as ecris, cette page contient uniquement une déclaration de fonction, donc il ne se passe rien.

    Tu peux simplement ecrire le code de traitement sans passer par une fonction.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  2. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 09h29
  3. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 22h58
  4. insertion de données
    Par m-l dans le forum SQL
    Réponses: 9
    Dernier message: 25/07/2003, 13h59
  5. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo