Forum Clubic

[PHP JAVASCRIPT] du php dans une "alert"

Bonjour,

je suis débutant en javascript et en PHP et je souhaiterais avoir un peu d’aide pour ma page php.

Voici le problème : Je souhaite afficher dans une boite de dialogue (alert) un message de type "Bonjour X Y" ou X et Y sont le nom et le prénom de la personne qui a rempli un formulaire stocké dans une base SQL.



<html>
<body> 
<?php 
error_reporting(E_ALL ^ E_NOTICE); 
mysql_connect("localhost", "root", ""); 
mysql_select_db("plongee"); // Sélection de la base plongee 
 
$nom=$_POST['nom'];                     
$prenom=$_POST['prenom']; 
$date_naissance=$_POST['date_naissance']; 
$telephone=$_POST['telephone']; 
$niveau=$_POST['niveau'];                             
$adresse=$_POST['adresse']; 
$questions=$_POST['questions']; 
$code_postal=$_POST['code_postal']; 
$ville=$_POST['ville']; 
$bapteme_gratuit=$_POST['bapteme_gratuit'];  
$activites_associations=$_POST['activites_associations']; 
 
mysql_query("INSERT INTO membres(num, nom, prenom, date_naissance, telephone, niveau, adresse, questions, code_postal, ville, bapteme_gratuit, activites_associations) VALUES('','$nom' ,'$prenom' ,'$date_naissance' ,'$telephone' , '$niveau', '$adresse', '$questions', '$code_postal', '$ville', '$bapteme_gratuit', '$activites_associations')"); 
 
mysql_close(); 
 
<script Language="javaScript"> 
alert(<?php echo $nom.' '.$prenom; ?> ) 
</SCRIPT> 
?> 
</body> 
</html?gt;

D’ailleurs en cherchant l’erreur de script java, j’ai crée une erreur de synthaxe php.

Merci d’avance pour votre aide

Il te manque juste les guillemets et tu as mal placé la fermeture de PHP:

?>
<script type="text/javascript">
alert('<?php echo $nom.' '.$prenom; ?>');
</script>

Pas étonnant.

php est un langage de programmation qui est d’abord analysé lexicalement (tu cherches les différents éléments, comme “if”, “else”, les chaînes) puis syntaxiquement. Au final, il envoie sa sortie au navigateur qui analyse le code HTMl, analysant éventuellement du code javascript analysé d’abord lexicalement, puis syntaxiquement…

En particulier si tu ouvres la source du résultat php, tu auras (pour $nom = ‘aaa’, et $prenom= ‘aaa’)

alert(aaa aaa);

Pour javascript, c’est vu comme :

<id, alert> ( <id, aaa> <id, aaa> ) ;

Ce qui provoque une erreur.

Si tu veux afficher une chaîne javascript =>

...
?>
<script type="text/javascript">
alert('<?php echo addslashes($nom), ' ', addslashes($prenom); ?>' );
</script>
<?php
...