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

Langage PHP Discussion :

Problème avec formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut Problème avec formulaire
    Bonjour,

    J'ai écrit un petit fichier de test pour l'ajouter ensuite sur mon site.
    Seulement, j'ai un problème que je n'avais jamais vu... J'ai pourtant réaliser mon script de la même manière que mes anciens !

    Voilà l'extrait de mon script qui bug :

    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
     
    <body onload="initialiser()">
    		<h1>R&eacute;cup&eacute;ration des coordonn&eacute;es d&rsquo;un marker d&eacute;pla&ccedil;able</h1>
     
    		<form action="test2.php" id="form_adresse" name="form_adresse" method="post">
    			<center>
    				<input type="text" id="addr" name="addr" size="60" value="Entrer l'adresse ici ! " onFocus="if(this.value == this.defaultValue) this.value = ''" onBlur="if(this.value == '') this.value = this.defaultValue;">
    				<input type="submit" value="Valider">
    			</center>
    		</form>
    		<br/>
    		<?php
    			if(isset($_POST['addr'])) {
    				echo "<center>\n";
    				echo "Longitude : <input type=\"text\" name=\"lng\" value=\"0\" readonly=\"readonly\">\n";
    				echo "Latitude : <input type=\"text\" name=\"lat\" value=\"0\" readonly=\"readonly\">\n";
    				echo "</center>\n";
    				echo "<br/>\n";
    				echo "<div id=\"map\" style=\"width:100%; height:100%\"></div>\n";
    			}
    		?>
    	</body>
    Lorsque je lance mon script, mon formulaire s'affiche correctement, mais la suite non. Normalement, il ne devrait rien m'afficher tant que je n'ai pas encore fait mon submit, mais il m'affiche ceci :

    \n"; echo "Longitude : \n"; echo "Latitude : \n"; echo "\n"; echo "
    \n"; echo "
    \n"; } ?>
    (il manque ci-dessus les input, qui s'affichent avec la valeur : \"0\")

    J'avoue ne pas très bien comprendre... J'ai essayé énormément de chose, mais rien ne fonctionne !


    Votre aide me ferait grandement plaisir !

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Essaye avec \\n ou \\\n car apparemment ceci vient de la (je ne suis pas sure)!

    Sinon regarde s'il rentre dans ton if!

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php		if(isset($_POST['addr'])) { ?>
    		<center>
    		Longitude : <input type="text" name="lng" value="0" readonly="readonly" />
    		Latitude : <input type="text" name="lat" value="0" readonly="readonly" />
    		</center>
    		<br/>
    		<div id="map" style="width:100%; height:100%;"></div>
    <?php		} ?>
    Mettre du code html dans du code php n'a pas d'intérêt ...

    ps : input est auto-fermant : <input .... />

    Cela dit ... ton code ne semble pas présenter d'erreur (à part les <input .... />)
    Mes tests ne montrent pas non plus d'erreur d'affichage.
    Dernière modification par Invité ; 24/08/2011 à 15h07.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Alors j'ai essayé, mais il ne rentre pas vraiment dans mon if et il rentre en quelques sortes aussi... C'est à ne rien y comprendre. Enfait, j'ai retiré juste mon if, et le résultat reste le même.
    J'ai aussi essayé de rajouter des \\\n et \\n mais ça ne sert à rien. Enfait, du moment que le ">" de ma balise <center> est passé, il écrit tout le reste comme ça vient... Je ne comprend vraiment pas pourquoi

  5. #5
    Invité
    Invité(e)
    Par défaut
    y a-t-il un DOCTYPE ? lequel ?
    Le code ci-dessus est un extrait ou le contenu complet de ta page "test" ?

    ps2 :
    W3C : <center>
    "The center element is obsolete. Use CSS instead."
    A remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div style="text-align:center;">
    ...
    </div>

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Merci pour vos réponses !

    Cependant, la solution n'est toujours pas là. J'ai réécrit le code comme tu me l'a dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php if(isset($_POST['addr'])) { ?>
    				<center>
    					Longitude : <input type="text" name="lng" value="0" readonly="readonly" />
    					Latitude : <input type="text" name="lat" value="0" readonly="readonly" />
    				</center>
    				<br/>
    				<div id="map" style="width:100%; height:100%"></div>
    		<?php }	?>
    Mais maintenant, il m'affiche les deux inputs comme s'il n'y avait pas de if. De plus, ma carte ne s'affiche pas (alors qu'elle s'affichait avant que j'incruste du php dans mon script...)

    Je pense que mon problème remonte plus loin... Je vous envoie donc mon code en entier (il n'est pas encore du tout terminé, ne vous étonnez pas qu'il ne fasse rien ^^) :

    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
     
    <?php
    	if(isset($_POST['addr']))
    		$addr = $_POST['addr'];
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    	<head>
    		<title>Test Google Maps</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    		<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    		<script type="text/javascript">
     
    			var latlng = new google.maps.LatLng(48.862014, 2.275344);
     
    			var initialiser = function() {
     
    				var options = {
    					center: latlng,
    					zoom: 15,
    					mapTypeId: google.maps.MapTypeId.HYBRID
    				};
     
    				var map = new google.maps.Map(document.getElementById("map"), options);
     
    				var options = {
    					position: latlng,
    					map: map
    				};
     
    				var marker = new google.maps.Marker(options);
    				marker.setMap(map);
     
    				<?php
    					if(isset($addr))
    						echo "createMarker(\"".$addr."\");\n";
    				?>
     
    			};
     
    			var createMarker = function(addr) {
    				alert("On crée un marker à l'adresse suivante : " + addr);
    			};
     
    			var recupLng = function() {
    				return latLng.lng;
    			};
     
    		</script>
    	</head>
    	<body onload="initialiser()">
    		<h1>R&eacute;cup&eacute;ration des coordonn&eacute;es d&rsquo;un marker d&eacute;pla&ccedil;able</h1>
     
    		<form action="test.php" id="form_adresse" name="form_adresse" method="post">
    			<center>
    				<input type="text" id="addr" name="addr" size="60" value="Entrer l'adresse ici ! " onFocus="if(this.value == this.defaultValue) this.value = ''" onBlur="if(this.value == '') this.value = this.defaultValue;">
    				<input type="submit" value="Valider">
    			</center>
    		</form>
    		<br/>
    		<?php if(isset($_POST['addr'])) { ?>
    				<center>
    					Longitude : <input type="text" name="lng" value="0" readonly="readonly" />
    					Latitude : <input type="text" name="lat" value="0" readonly="readonly" />
    				</center>
    				<br/>
    				<div id="map" style="width:100%; height:100%"></div>
    		<?php }	?>
    	</body>
    </html>
    Voilà

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Le div à la place du center n'a pas non plus fonctionné...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php if(isset($_POST['addr'])) { ?>
    				<div style="text-align:center;">
    					Longitude : <input type="text" name="lng" value="0" readonly="readonly" />
    					Latitude : <input type="text" name="lat" value="0" readonly="readonly" />
    				</div>
    				<br/>
    				<div id="map" style="width:100%; height:100%"></div>
    		<?php }	?>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Kentin64 Voir le message
    J'ai écrit un petit fichier de test pour l'ajouter ensuite sur mon site.
    L'as-tu testé en ligne ? ou juste en local ?

    Car ca ressemble plus à un problème d'"interprétation de php" ... que du code lui-même

    Tu peux aussi tester la validité : http://validator.w3.org

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Nop, je l'ai juste testé en local, il n'a pour l'instant aucun lien avec mon site. Il faudra que je le modifie pour le mettre sur mon site. Là c'est juste pour faire des tests avec l'API Google Maps.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Peux-tu mettre ca au tout début du fichier :
    Ca dit quoi ?

    ou juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo 'hello ?'; ?>

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Ca ne m'affiche rien de plus... Et rien de moins... Et ni le phpinfo(), ni le hello...

  12. #12
    Invité
    Invité(e)
    Par défaut
    ... et ... tu ne vois toujours pas le problème ?

Discussions similaires

  1. [DW8] problème avec formulaire
    Par scoupe1937 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 29/02/2008, 15h45
  2. Problème avec formulaire de suppression d'entrée
    Par mickado dans le forum Langage
    Réponses: 19
    Dernier message: 18/04/2007, 19h12
  3. [Conception] Problème avec formulaire
    Par snakejl dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 27/06/2006, 12h25
  4. problème avec formulaire et sous formulaire
    Par Lnjam dans le forum Access
    Réponses: 2
    Dernier message: 28/01/2006, 18h52
  5. problème avec formulaire et BDD
    Par pmboutteau dans le forum ASP
    Réponses: 1
    Dernier message: 24/08/2005, 11h56

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