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 :

Ma base reste vide


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 20
    Points
    20
    Par défaut Ma base reste vide
    Bonjour à tous,

    Je me tourne vers vous, afin de bénéficier de votre aide. Je suis débutant, vraiment débutant sur php/mysql, et je dois réaliser un formulaire de saisie d'informations.

    J'ai bien créé mon formulaire, et la page de traitement qui va avec, mais lorsque je clique sur le bouton envoyer de mon formulaire, et bien, les informations ne s'inserent pas dans ma base mysql. En revanche, il créé bien un nouvel enregistrement qui demeure vide.

    Voici le code de ma page traitement.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
     
    <?php
     
    require("conf.php3");
    // CONNEXION MYSQL
    $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    if(!$db_link) {echo "Connexion impossible я├Б∙░ la base de donnя├Б∙≤es <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vя├Б∙≤rifiez les paramя├Б∙≈tres du fichier conf.php3"; exit;}
    // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
    $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
     
     
    $name=$_POST['name'];
    $MonumentInscript=$_POST['MonumentInscript'];
    $IERSDOMES=$_POST['IERS'];
    $CDPNum=$_POST['cdp'];
    $MonumentDescrip=$_POST['monumentDescr'];
    $HeightMonu=$_POST['menu'];
    $MonuFound=$_POST['monumentfound'];
    $FoundDepth=$_POST['foundation'];
    $MarkerDescript=$_POST['marker'];
    $Dated=$_POST['d'];
    $GeologicChar=$_POST['geologicChar'];
    $BedrockType=$_POST['bedrockType'];
    $BedrockCond=$_POST['bedrockCond'];
    $FractureSpacing=$_POST['fractureSpacing'];
    $Faultzones=$_POST['faultzones'];
    $Distance=$_POST['Distance'];
    $AddInfo=$_POST['addinfo'];
    $FourCar= substr($name,0,4);
     
    $req = "insert into zero(SiteName,FourCar,MonumentInscri,IERSDOMES,CDPNum,MonumentDescript,HeightMonu,MonuFound,FoundDepth,MarkerDescript,
    DateInstalled,GeologicChar,BedrockType,BedrockCond,FractureSpacing,FaultZones,Distance,AddInfo) values('$name','$FourCar','$MonumentInscript','$IERSDOMES','$CDPNum','$MonumentDescrip','$HeightMonu',
    '$MonuFound','$FoundDepth','$MarkerDescript','$Dated','$GeologicChar','$BedrockType','$BedrockCond','$FractureSpacing',
    '$Faultzones','$Distance','$AddInfo')";
     
    $sql=mysql_db_query($sql_bdd,$req,$db_link) or die(mysql_error());
    ?>
    voilà, je pense que le problème viendrait de mes variables. Merci d'avance

  2. #2
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    tu as fait un echo de ta requete pour voir son contenu ?
    tu as testé tes variables ?
    tu ne concatenes aucune variable, c'est normal ?
    toutes tes variables sont entre guillemets : tu es certains de n'avoir à insérer que du texte ?
    ton code est propice aux injections sql !
    pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $numero = htmlentities($_POST['numero']);
    $texte = htmlentities($_POST['texte']);
    $dataToInsert = "insert into maTable (champs1,champs2) values (".mysql_real_escape_string($numero).",'".mysql_real_escape_string($texte)."')";

  3. #3
    Membre averti Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Points : 325
    Points
    325
    Par défaut
    bonjour,


    Fais un print_r($_POST) au debut de ton code pour savoir si le tableau $_POST n'est pas vide.
    .
    .
    .

    EDIT : Pas assez rapide
    Tuc l'Original, On ne peut que l'aimer

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    Alors j'ai fais quelques modifications, et en faisant un echo de ma requete rien ne passe, voilà ce qu'elle affiche :

    into zero (Id,date,pseudo,SiteName,FourCar,MonumentInscri,IERSDOMES,CDPNum
    ,MonumentDescript,HeightMonu,MonuFound,FoundDepth,MarkerDescript
    ,DateInstalled,GeologicChar,BedrockType,BedrockCond,FractureSpacing,
    FaultZones,Distance,Addinfo) values ('','','','','','','','','','','','','','','','','','','','','')

    autrement dit elle envoi des données vides dans la table, ce qui explique que j'ai un nouvel enregistrement à chaque fois.

    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
    $id = addslashes($_POST['id']);
    $name=addslashes($_POST['name']);
    $MonumentInscript=addslashes($_POST['MonumentInscript']);
    $IERSDOMES=addslashes($_POST['IERS']);
    $CDPNum=addslashes($_POST['cdp']);
    $MonumentDescrip=addslashes($_POST['monumentDescr']);
    $HeightMonu=addslashes($_POST['menu']);
    $MonuFound=addslashes($_POST['monumentfound']);
    $FoundDepth=addslashes($_POST['foundation']);
    $MarkerDescript=addslashes($_POST['marker']);
    $Dated=addslashes($_POST['d']);
    $GeologicChar=addslashes($_POST['geologicChar']);
    $BedrockType=addslashes($_POST['bedrockType']);
    $BedrockCond=addslashes($_POST['bedrockCond']);
    $FractureSpacing=addslashes($_POST['fractureSpacing']);
    $Faultzones=addslashes($_POST['faultzones']);
    $Distance=addslashes($_POST['Distance']);
    $AddInfo=addslashes($_POST['addinfo']);
    $FourCar= substr($name,0,4);
     
    $req = "insert into zero (Id,date,pseudo,SiteName,FourCar,MonumentInscri,
    IERSDOMES,CDPNum,MonumentDescript,HeightMonu,MonuFound,FoundDepth,
    MarkerDescript,DateInstalled,GeologicChar,BedrockType,BedrockCond,
    FractureSpacing,FaultZones,Distance,Addinfo) values ('$Id','$date','$pseudo_membre','$name','$FourCar','
    $MonumentInscript','$IERSDOMES','$CDPNum','$MonumentDescrip',
    '$HeightMonu','$MonuFound','$FoundDepth','$MarkerDescript','$Dated',
    '$GeologicChar','$BedrockType','$BedrockCond','$FractureSpacing','$Faultzones',
    '$Distance','$AddInfo')";
     
    echo $req;
     
    $sql=mysql_db_query($sql_bdd,$req,$db_link) or die(mysql_error());?>

    là je vois vraiment pas ce qu'il faut que je fasse.

  5. #5
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    si tu n'insères rien, c'est que ton POST est vide.
    vérifie le formulaire qui envoi les données à cette page

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    je viens de revérifier mon formulaire de la page précédent le traitement, en ajoutant des données diverses, et toujours rien...Je ne sais pas si cela peut aider mais voici le code de ma page formulaire...

    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
     
    require("conf.php3");
    // CONNEXION MYSQL
    $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
    if(!$db_link) {echo "Connexion impossible я├Б∙░ la base de donnя├Б∙≤es <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vя├Б∙≤rifiez les paramя├Б∙≈tres du fichier conf.php3"; exit;}
    // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
    //$requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
     
    // SI L'ID N'EXISTE PAS
    //if(mysql_num_rows($requete)==0)
    	//{
    	// REDIRECTION PAGE ERREUR
    	//header("Location:$url_erreur");
    	//exit;
    	//}
    ?>
    <div align="center"><u><strong>1.SITE IDENTIFICATION OF THE GNSS MONUMENT</strong></u></div>
    <div align="center">
    <form action="http://localhost/Webjeff/traitement1.php?id<?php echo $id ?>" >
     
     
    <table>
    <TD><TR><TD>
    Site Name :</TD><TD> <input type = "text" name="SiteName"><br></TD></TR>
     
    <TR><TD>Monument Inscription :</TD><TD> <input type ="text" name="MonumentInscript"><br></TD></tr>
     
    <TR><TD>IERS DOMES Number :</TD><TD><input type = "text" name="IERS" ><br></TD></tr>
     
    <TR><TD>CDPNumber : </TD><TD><input type = "text" name="cdp" ><br></TD></tr>
     
    <TR><TD>Monument Description :</TD><TD><input type = "text" name="monumentDescr" ><br></TD></tr>
     
     
    <TR><TD>Height of the Monument:</TD><TD><SELECT NAME="menu" SIZE="1"><br>
    <OPTION SELECTED VALUE="">
    <OPTION VALUE="1">1
    <OPTION VALUE="1.5">1.5
    <OPTION VALUE="2">2
    <OPTION VALUE="2.5">2.5
    <OPTION VALUE="3">3
    <OPTION VALUE="3.5">3.5
    <OPTION VALUE="4">4.5
    <OPTION VALUE="4.5">4.5
    <OPTION VALUE="5">5.5
    <OPTION VALUE="6">6.5
    </OPTION>
    </SELECT> <br></TD></tr>
     
    <TR><TD>Monument Foudation :</TD><TD><input type ="text" name="monumentfound" ><br></TD></tr>
     
    <TR><TD>Foundation Depth : </TD><TD><input type ="text" name="foundation" ><br></TD></tr>
     
    <TR><TD>Marker Descritpion :</TD><TD><input type ="text" name="marker" ><br></TD></tr>
     
     <form name="frm" method="post" action="#">
    <TR><TD>Date Installed :</TD><TD><input type="text" name="d" readonly="readonly"/><a href="#" onClick="window.open('pop.php?frm=frm&ch=d','calendrier',
    'width=350,height=160,scrollbars=0').focus();"><img src="petit_calendrier.gif" border="0"/></a></TD></tr>
    </form></TR>
     
    <TR><TD>Geologic Charasteristic :</TD><TD><input type ="text" name= "geologicChar" ></TD></tr>
    <TR><TD>Bedrock Type : </TD><TD><input type="text" name ="bedrockType"></TD></tr>
    <TR><TD>Bedrock Condition : </TD><TD><input type ="text" name= "bedrockCond" ></TD></tr>
    <TR><TD>Fracture Spacing :</TD><TD><input type ="text" name= "fractureSpacing" ></TD></tr>
    <TR><TD>Fault Zones Nearby :</TD><TD> <input type="text" name="faultzones"></TD></tr>
    <TR><TD>Distance-Activity :</TD><TD><input type ="text" name= "Distance" ></TD></tr>
    <TR><TD>Notes : </TD><TD><input type =textarea name= "addinfo" ></TD></tr>
    <TR><TD><input type="submit" name="Site Location">Location
    </TR></TR>
    </table>
    </div>
    </form>
    <br><br>
    Merci beaucoup des réponses déjà fournies. Je suis conscient que ce n'est pas facile pour vous de trouver ce qui ne va pas.

  7. #7
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Dans ton formulaire c'est ta balise form qui m'inquiete.
    Est-il vraiment necessaire de mettre l'adresse complete ?
    Pas de methode get ou post precisée
    Tu envoie en get une variable, a priori sans valeur... c'est peut-etre ce que tu voulais, mais bon.

    Tu n'as aucune erreur ? genre undefined index, ou du meme style quand tu soumets le formulaire ?
    Sohnic
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  8. #8
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    dans ton formulaire, remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="http://localhost/Webjeff/traitement1.php?id<?php echo $id ?>" >
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="traitement1.php" method="post">
    et ajoute dans le form un champ caché contenant la valeur de l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id" value="<?php echo $id ?>" >

Discussions similaires

  1. [VBA-E]Combobox reste vide à l'ouverture du Userform
    Par cacolac78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/02/2007, 12h00
  2. Réponses: 4
    Dernier message: 23/08/2006, 15h36
  3. [VB & SQL] Recordset reste vide apres SELECT
    Par ZeGuizmo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/06/2006, 09h04
  4. [Plugin][Lomboz] web.xml reste vide lors du déploiement
    Par ollivier dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/01/2006, 14h20
  5. [CR] Avoir seulement une page blanche qd la base est vide???
    Par littleChick dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 13/08/2002, 18h26

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