[RÉSOLU]Formulaires

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 : [RÉSOLU]Formulaires

Re: Formulaires

par Raitei » 04 juin 2012, 10:20

Je venais tout juste de vérifier et donc le résultat est le suivant, une } devait manquer comme tu l'as indiqué ensuite, c'est bizarre mais bon x) au final sujet résolu.
En tout cas, merci de ton aide ^^ L'erreur était simple mais j'ai galéré à la trouver, le fait de re-modifier l'erreur de connexion m'a aidé Merci :)

Par contre j’ai un autre soucis, mais si j'ai bien lu les règles du forum, c'est une question par sujet et donc il faudrait que j'en recréé un ?

Re: Formulaires

par Mazarini » 04 juin 2012, 10:16

Mon impression, c'est qu'il manque une } à la fin.
Il faut vérifier les ouvertures et les fermetures depuis le début du script.

Re: Formulaires

par Raitei » 04 juin 2012, 10:03

Je suis plutôt d'accord avec toi. En général je traite l'erreur et ensuite je met dans le else tout le reste. Là, c'est le code que j'ai emprunté. Pour voir le if, et trouver sûrement l'erreur il semblerait qu'il faut que je mette mon code entier. Je replanche dessus depuis tout à l'heure je ne trouve toujours pas. C'est vraiment énervant car celui-ci fonctionne si je l'isole de la première liste et que je rajoute les bout de code entourant celui-ci :s

EDIT : je viens de remodifier pour l'erreur de connexion, histoire de déjà x)

Re: Formulaires

par Mazarini » 04 juin 2012, 09:59

Je n'ai rien vu.
Par contre, on ne trouve pas dans l'extrait le if correspondant à
mysql_close($connexion);
}
else{

Par gout personnel, je traiterai les erreurs de connexion tout de suite après la connexion en forcant la fin du script (exit ou die()) pour ne pas avoir trop de code entre le if et le else

Re: Formulaires

par Raitei » 04 juin 2012, 09:42

Bon bah je te montre la fin du code aux alentours de l'erreur avec une partie du code ajouté
while($ligne_action = mysql_fetch_assoc($rech_action)){
					array_push($code_action, $ligne_action['id_action']);
					array_push($nom_action, $ligne_action['name_action']);
					$na++;
				}
				?>
				
	</select>
	<?php
			}
        /* Un petit coup de balai */
        mysql_free_result($rech_action);
		}
	?>
	<!--- Petit script pour l'autocomplétion !--->
				<script>
					$(document).ready(function() {
						$("input#autocomplete2").autocomplete({
							source: [
								<?php  
									for($d = 0; $d<$na; $d++){
										echo '"'.$nom_action[$d].'",' ;
									}
								?>
							]
						});	
					});
				</script>
	<input id="autocomplete2" name="action"/>
	<input type="text" name="test2"/>
	
	<?php
		//Insert ce qui ce trouve dans le input test, dans la table action pour le type_action sélectionné
		
		//On test d'abord si ce champ n'est pas vide
		if(!empty($_POST['test2'])){
			$test2=$_POST['test2'] ;
			$requette = " INSERT INTO action (name_action, id_typeaction) VALUES ('".$test."','".$idta."');";
			$exec = mysql_query($requette, $connexion);
			?>
			<meta http-equiv ="refresh" content="0;URL=v2.php">
			<?php
		}
	?>
	
	
	</fieldset>
	</form>
	
	
	
	<input type="submit" name="ok" id="ok" value="Envoyer" />
<?php
    /* Terminé, on ferme la connexion */
    mysql_close($connexion);
	}
	else{
		/* Si on arrive là, c'est pas bon signe, il faut vérifier les 
		* paramètres de connexion, mot de passe, serveur pas démarré etc... */
?>
		<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php 
	}
?>
	</body>	
</html>

Re: Formulaires

par Mazarini » 04 juin 2012, 09:40

Juste une partie et on verra si c'est suffisant. Ca peut venir d'une erreur de quote, ou d'un point virgule ou d'accolade...

Un éditeur de texte avec coloration syntaxique (pb de quote) et une bonne indentation (pb d'accolade) aide à trouver ce genre d'erreur.

Edit Même après plusieurs année de PHP, il est parfois difficile de voir la poutre que l'on a dans l'oeil :lol:

Re: Formulaires

par Raitei » 04 juin 2012, 09:35

Personnellement, autour de la ligne 253 (actuellement 263 dans la dernière version vu que j'ai ajouté des sauts de lignes de le code pour repérer mon ajout) je ne repère aucunes fautes. Surtout que si j'enlève le code ajouté, l'erreur disparaît elle se situerait donc dans cette part de code ou juste avant. Donc est-ce que le mieux est de donner le code entier ou juste une partie ? J’avouerai que j'utilise jamais de forum pour mes codes. Et là, étant donné que j'ai dû utiliser le code d'un autre c'est un peu la galère ^^

Re: Formulaires

par Mazarini » 04 juin 2012, 09:30

Comme indiqué dans le message d'erreur, tu à fais une erreur de syntaxe au alentour de la ligne 253.

C'est bien de nous avoir indiqué le message (mieux que le code sans message), mais il nous manque le code autour de la ligne 253 (en indiquant la ligne 253).

[RÉSOLU]Formulaires

par Raitei » 04 juin 2012, 09:23

Bonjour à tous ! Nouveau sur le forum, je commence donc par une question d'ordre php, normal me direz-vous. Par contre, pas sûr que c'est bien ici, je suis allez sur php débutant ne sachant pas où le poster.

Je suis actuellement en stage et je dois coder une application web via php/MySQL, jusqu'ici tout va pour le mieux.

Pour respecter les contraintes de mon tuteur qui souhaite avec un input qui s'autocomplete en liaison avec une liste déroulante j'ai donc dû utilisé un de vos tutoriels (faq-tutoriels/formulaires-listes-deroul ... t4562.html) j'ai donc "piqué" le code php de la liste et adapté à ma sauce.
Pour une seul liste et un seul input tout va pour le mieux, j'ai la liste qui actualise l'auto-complétion de l'input. Je me dis donc, étant donné qu'il est nécessaire d'en avoir plusieurs car je vais devoir en faire 3 ou 4 peut-être moins pas encore sûr, je copie donc le code correspondant à la liste + l'input (qui s'autocomplete) et modifie les variables etc. pour en faire une deuxième. Or à ce moment là, j'ai une erreur qui m'indique une fin non attendue, "Parse error: parse error, unexpected $end in *** on line 253"

J'ai donc essayé de chercher l'erreur mais je ne l'a trouve pas, quand je copie la partie juste avant celle du code modifié et que je l'a rajoute dans le nouveau modifié sur une page à part tout fonctionne, quand je met les deux ensemble plus rien ne fonctionne...

J'aurai donc besoin de votre aide, s'il-vous-plaît.


Raitei.