Transmission de données JS -> PHP = FAIL

J'ai un problème lors d'une transmission de données d'un code js à un script php

Mon JS :
*$.ajax({
url : 'save_file.php',
type : 'GET',
data : 'test=ffdgvf';
});*
Mon PHP :
echo $_GET['test'];

L'erreur renvoyée : Undefined index: test

Si quelqu'un à une idée de la source du problème, car j'suis à cours, merci.

Poster un commentaire
Kaazhan
Kaazhan
6 ans

fais un echo de $_GET
déclare un datatype

anonyme
anonyme
6 ans

@Kaazhan: Je fais un echo de get ? Cad le datatype ?

Kaazhan
Kaazhan
6 ans

@Thepeasant: manifestement tu utilise jquery http://api.jquery.com/jquery.ajax/
et fais juste un
echo $_get;
comme ca tu pourra voir tout ce qu'il contient, si la structure du $_get ne correspond pas à ce que tu attends tu trouvera quand même tes infos dedans

anonyme
anonyme
6 ans

@Kaazhan: Hmm ok intéressant, j'ai fait un var_dump j'obtiens ça : array(0) { }

Kaazhan
Kaazhan
6 ans

@Thepeasant: bah du coup au moins tu sais que ton javascript est cancereux.

essaye de remplacer
data : 'test=ffdgvf';
par
data : "test='ffdgvf'"

anonyme
anonyme
6 ans

@Kaazhan: J'en doute pas que y'a cancérisation côté JS :( Même résultat, array(0){}

Divi
Divi
6 ans

Essaye "method" au lieu de "type".
Aussi, data est mal foutu : ce doit être du JSON.

data: {"test": "foobar"}

anonyme
anonyme
6 ans

@Divi: Ça change rien, même erreur

Divi
Divi
6 ans

@Thepeasant: C'est bizarre, c'est bien du texte que t'envois ?

anonyme
anonyme
6 ans

@Divi:
$.ajax({
url : 'save_file.php',
method : 'GET',
data: {"test": "foobar"},
});
Et mon php :
<?php
echo $_GET['test'];
?>

Cad du texte ?
J'ai pas mis tout mon code au niveau du JS, mais c'est parce que je suis sur qu'il n'y a rien qui n'interfère et qui ne fonctionne pas, et le fichier php par contre est comme ça : une ligne

Dreanad44447847

@Thepeasant: reprend ta requête que tu as mis dans ton post initial, et fait un screen de ta console partit network => XHR => le nom du fichier que t'appel

Dreanad44447847

@Thepeasanten screen : l'onglet header entier, et response / preview l'un ou l'autre

anonyme
anonyme
6 ans

@Dreanad44447847:

IMG

Commentaire supprimé.

anonyme
anonyme
6 ans

@Dreanad44447847:

IMG

Commentaire supprimé.

anonyme
anonyme
6 ans

@Dreanad44447847: Coté JS

IMG

Commentaire supprimé.

anonyme
anonyme
6 ans

@Dreanad44447847: Et le preview renvoi string(6) "ffdgvf"

IMG
Dreanad44447847

@Thepeasant: alors c'est ok, tu as tout là dans ta reponse tu a bien ta string, donc coté php ton $_get['test'] te retourne bien ta string que tu lui passe normalement, y'as pas de soucis, la tu as le resultat attendu :)

Dreanad44447847

@Thepeasant: si dans preview et response tu retrouves bien ta string, tu n'as aucune erreur, tu la vois ou ton undefined ?

anonyme
anonyme
6 ans

@Dreanad44447847: Quand je lance la page .php, depuis le js la variable s'envoie bien, mais depuis le php tout est vide/inexistant.
J'ai envoyé les fichiers à sainsi plus bas si tu veux checker, j'suis sur que j'ai fais une erreur de base en dehors du code que je vous ai montré

Dreanad44447847

@Thepeasant: Je pense qu'en fait tu n'as pas saisis le principe de l'Ajax simplement,
l'ajax te sert uniquement à recup des données via les data que tu lui envois

ta requete ajax appel ton fichier php, ton fichier php te retourne ce que tu demandes sous le format de ton choix ( en général en ajax on utilise le json, ou directement de l'html )

mais si tu appel ta page php ( celle que tu requete en ajax ) directement depuis ton navigateur, c'est l'equivalent d'un GET donc si t uveux que ca marche, dans ton url, tu rajoute tes parametres

mon-url.fr?test=sdfsdf

je sais pas si c'est très clair

en fait ca dépend de comment tu a fait ton script, si j'ai le temps après le boulot je regarde ton archive

anonyme
anonyme
6 ans

@Dreanad44447847: Oui oui je comprends très bien, à la base c'est du json que je veux envoyer en fait, mais vu que ça marchait pas j'ai simplifier la requete à une simple chaine pour regarder d'ou venait le prob, mais je bute

Merci en tout cas, ce serait cool

Commentaire supprimé.

sainsi
sainsi
6 ans

Ton data termine le par , et non ;

anonyme
anonyme
6 ans

@sainsi: done, ça change rien, ce genre de trucs je les test à chaque fois

Commentaire supprimé.

sainsi
sainsi
6 ans

@Thepeasant: bizarre, chez moi c'est ok

IMG

Commentaire supprimé.

Dreanad44447847

@Thepeasant: Bon j'ai testé rapido, ton script fonctionne, qu'est-ce qui ne vas pas pour to i?

anonyme
anonyme
6 ans

@Dreanad44447847: rends toi sur la page ../js/save_file.php
Cette page est censée écrire la variable reçu sur un fichier puis renvoyer à la page précédente

Ne me demande pas pourquoi j'ai pas tout fait en .php, je sais que mon code est pas du tout optimal mais bon là j'suis dedans y'a plus que cette erreur et j'serais tranquille

Dreanad44447847

@Thepeasant: en fait tu essais d'accèder a ta page que tu requete en ajax via ton navigateur c'est ca ?
pour quel raison ?
sinon, si tu veux que ca marche, il faut lui donné le param get, ou simplement tester si il y a bien le get
localhost/lab/choual/js/save_file.php?test=tastring

ca, ca marchera

et sinon dans ton code

$mavar = $_GET['test] ? $_GET['test] : false;

et voila

anonyme
anonyme
6 ans

@Dreanad44447847: Putain, nice, merci c'est bon

Dreanad44447847

@Thepeasant: je t'en prie

Cette page est réservée aux ADULTES

Tu es sur le point d'accéder à un site web qui contient du matériel explicite (pornographie).

Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.


En accédant à ce site, tu acceptes nos conditions d'utilisation.