perdue....

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : perdue....

par SAEVEAS » 19 mars 2008, 19:54

Bonjour,

Merci de prendre le temps de lire les règles du forum.

- Utilise un titre pertinant pour ton probleme, ce n'est pas un site d'avis de recherche.
- Merci de prendre le temps de répondre aux personnes qui t'aide. Pour rappelles c'est au demandeur de fournir les efforts et non l'inverse.

par sadeq » 19 mars 2008, 15:41

C'est quoi qui marche pas !

Fais un débogage :
Fais un print_r($_POST); pour voir si tes données sont bien envoyées par le formulaire.
Fais un print_r de tous les tableaux que tu calcules pour voir s'ils se remplissent correctement
Fais un echo de l'instruction insert en la mettant dans une variable

NB:
Dans l'insert quand l'id d'un enregistrement est auto-incrémenté, il ne faut pas l'inclure.

Code : Tout sélectionner

insert into `vis_cycle` (`name`,`profil`,`sleep`) values ('$name','$profils_line', '$sleep_line')"

par ranlaris » 19 mars 2008, 15:17

merci pour ta réponse.

je viens de tester avec ta correction, malheureusement, ca ne fonctionne toujours pas
je ne sais plus que faire

par sadeq » 19 mars 2008, 14:42

C'est le champ "sleep" qui pose problème car tu le récupère par le POST sous le nom:

Code : Tout sélectionner

$_POST["sleep_${i}"]
alors que dans le formulaire il a un nom différent :

Code : Tout sélectionner

echo"<select name=\"sleep\" id=\"sleep\">";

Correction
: dans le formulaire tu doit appelé ce champ avec le même nom du POST :

Code : Tout sélectionner

echo"<select name=\"sleep_${pos}\" id=\"sleep\">";
où $pos est ton compteur de position.

perdue....

par ranlaris » 19 mars 2008, 11:23

Bonjour,

Je travaille sur un fichier qui commence a me depasser.
Le principe est de récuperer des donners dans une table A, d'y ajouter un temps d'utilisation puis de l'enregistrer dans une table B
j'ai déja pas mal avancé mais ca ne fonctionne toujours pas.
J'avoue que je calle completement.
je ne vois pas ce qui manque ou ce qui empeche l'enregistrement dans la table.
Une bonne ame pourrait-elle regarder un peu tout ca et me donner un coup de main ???
merci !!!


le ficher

Code : Tout sélectionner

<? if ($PHPSESSID && is_file("/tmp/sess_".$PHPSESSID) ) session_start($PHPSESSID); else { echo "<script language='JavaScript'>\n document.location.replace('index.php'); </script>\n"; exit(); } include(load_lang($user_lang)) ; if ( $admin == 0 ) exit ; $profils_tab = array() ; $NB_MAX_POSITION = 16 ; echo "<h1>Creation d'un cycle</h1>\n" ; if ( $ok == 1 ) { print "<p>OK !</p>\n" ; } if ( $err == 1 ) { print "<p>Erreur !</p>\n" ; } $connexion = mysql_connect("$sql_host","$sql_user","$sql_pass"); $db = mysql_select_db("$sql_db", $connexion); if ( ! $connexion || ! $db) { echo "<p>ERREUR DE CONNEXION</p>\n"; exit ; } /* RECUPERATION DES PROFILS EXISTANTS */ $query = "SELECT * FROM `vis_profil` ORDER BY `id_profil` ASC "; if ( ! ($profils_sql = mysql_query($query,$connexion)) ) { echo "<p>ERREUR DE REQUETE</p>\n"; mysql_close($connexion) ; exit() ; } //Utiliser cette boucle pour remplir les options de la liste des profils $profils_options = "<option value=\"\">-- selectionnez --</option>"; for ( $i=0 ; $i<mysql_num_rows($profils_sql) ; $i++ ) { $id_profil_temp = mysql_result($profils_sql,$i,"id_profil") ; $name_temp = mysql_result($profils_sql,$i,"name") ; $profils_options .= "<option value=\"$id_profil_temp\">$name_temp</option>" ; } mysql_free_result($profils_sql) ; /* FIN */ /* AFFICHAGE DU FORMULAIRE SI PROFILS */ if ( $profils_options == "<option value=\"\">-- sélectionnez --</option>" ) { echo "<p>Desole, aucun profil !</p>\n" ; } else { echo "<form action=\"add_line.php\" method=\"post\">\n" ; echo "<p><b>Name : </b> <input type=\"text\" name=\"name\" size=\"16\" value=\"$NAME_UPDATE\" /></p>\n" ; //Afficher plusieurs fois la liste des profils for ( $pos=1 ; $pos <= $NB_MAX_POSITION ; $pos++ ) { echo "<p><b>POS $pos</b> --> Profil : <select name=\"profil_${pos}\">" . $profils_options . "</select>"; //selection du sleep echo"<label for=\"\">\"temps de pause\"</label><br />"; echo"<select name=\"sleep\" id=\"sleep\">"; echo"<option value=\"temps de pause\">--temps de pause--</option>"; echo"<option value=\"10\">10</option>"; echo"<option value=\"15\">15</option>"; echo"<option value=\"30\">30</option>"; echo"<option value=\"45\">45</option>"; echo"<option value=\"60\">60</option>"; echo "</select></p>\n" ; } } echo "<p><input type=\"submit\" value=\"ajouter\" /></p>\n" ; echo "</form>\n" ; echo "<p><a href=\"configure_cycle.php\">[Annuler]</a></p>\n" ;

le fichier de fonction

Code : Tout sélectionner

<? $connexion = mysql_connect("$sql_host","$sql_user","$sql_pass"); $db = mysql_select_db("$sql_db", $connexion); $name=$_POST["name"]; $profil_tab = array() ; $sleep_tab = array() ; for ( $i=0 ; $i<16 ; $i++) { $profil_temp = $_POST["profil_${i}"] ; $sleep_temp = $_POST["sleep_${i}"] ; if ( strcmp($profil_temp,"") != 0 && strcmp($sleep_temp,"") != 0 ) { array_push($profil_tab, $profil_temp) ; array_push($sleep_tab,$sleep_temp) ; } } $profils_line = implode(":",$profil_tab) ; $sleep_line = implode(":",$sleep_tab) ; if ( mysql_query("insert into `vis_cycle` (`id`,`name`,`profil`,`sleep`) values('','$name','$profils_line','$sleep_line')",$connexion) ) { $res = "ok" ; } else { $res = "erreur" ; } //header("Location: create_cycle.php"); ?>
merci de votre aide T_T[/code]