[RESOLU] Utiliser une variable PHP en javascript

Eléphanteau du PHP | 46 Messages

11 juin 2013, 12:53

Bonjour à tous, je me heurte à un petit problème

j'ai défini une variable php que je souhaite utiliser en javascript

//index.php
<script type="text/javascript">

<?php
//code pour récupérer un élement dans la bdd
//fin de la requête
$data=mysqli_fetch_array($requete);																	
?>
//ici $data["element"] vaut 100
var element = <?php echo $data["element"]; ?>;
</script>
donc jusqu'ici je récupère quelque chose dans la bdd que j'affiche dans une variable javascript; element vaut donc 100

ensuite je l'utilise avec ajax pour transmettre cette variable à un autre fichier php
[javascript]
$("#form").submit(function(){
var element ="";

jQuery.ajax({
type: 'POST',
url: 'data.php',
data: {
element: element
},
success: function() {
$('textarea').attr({value : 'reussie'});
},
error: function(jqXHR, textStatus, errorThrown) {
alert("erreur");
}
return false;
});
});
[/javascript]

voici le fichier qui recoit la variable
<?php
//data.php

$sql = 'INSERT INTO table SET  test = "'. $element .'"';
			if(!mysqli_query($lien, $sql))
			{
				echo  "Erreur : " . mysqli_error($lien);
				exit();
			}
?>
je recois en erreur : Notice: Undefined variable: element
je précise que dans le code source de la page il est bien affiché : var element = 100;

Voila si quelqu'un sait m'aider, ça fait 2 jours que je bloque dessus et j'en ai un peu marre ><. Merci....

Mammouth du PHP | 619 Messages

12 juin 2013, 08:51

Bonjour,

tu récupère pas ton élément en post
<?php
//data.php

$sql = 'INSERT INTO table SET  test = "'. $_POST['element'] .'"';
                        if(!mysqli_query($lien, $sql))
                        {
                                echo  "Erreur : " . mysqli_error($lien);
                                exit();
                        }
?>

Eléphanteau du PHP | 46 Messages

12 juin 2013, 20:19

Merci de tes réponses Ghost.

Avant je voudrais résoudre un bug car je crois que c'est lié avec celui de l'id.

J'ai mon fichier php où j'envoie les données en ajax/javascript et dedans j'ai une condition
if($_POST["action"] == "test"){

/**
code
**/

}
et voici le jQuery

[javascript]$.post(url, {action: "test", id:id}, function(data){

//code

}[/javascript]

et quand j'exécute il me dit Notice: Undefined index: action

Tu saurais pas pourquoi ? Car je suis sûr que c'est lié avec mon autre problème d'id, il veut pas transmettre les données. Ou alors je m'y prends mal...

Eléphanteau du PHP | 46 Messages

12 juin 2013, 21:20

Bon en fait comme par magie une nouvelle fois mon bug s'est résolu mais je crois que c'est grâce à toi Ghost alors je t'offre une bière si tu veux

Mammouth du PHP | 619 Messages

13 juin 2013, 10:28

Lol :)

par contre

[javascript]
$.post(url, {action: "test", id:id}, function(data){

//code

}

[/javascript]

action n'est pas une variable de javascript du coup faut aussi la mettre entre les double quote
pour id cela doit marche sans aucun problème cas tu la déclaré mais cela est toujours mieux de les mètres les nom de variable en double quote puis la variable javascript sans

[javascript]
$.post(url, {"action": "test", "id":id}, function(data){

//code

}
[/javascript]

Eléphant du PHP | 160 Messages

13 juin 2013, 11:19

[Hors-Sujet]
Ghost, à force de te faire payer des coups par tout ceux que tu aide, tu vas finir comme Dany Boon dans bienvenu chez les ch'tis :p
J'espère que ton vélo à des petites roulettes :D
[/Hors-Sujet]