11540 sujets

JavaScript, DOM et API Web HTML5

Bonsoir à tous,

J'ai un code jQuery qui fait un appel AJAX pour envoyer un formulaire (dernier bouton du menu en haut à droite). Ce code est identique à un autre, sur ce même site (autre page) et qui fonctionne. Mais celui-ci me renvois dans la console JavaScript une erreur 500.

Quelqu'un aurait-il une idée ? Faut-il faire quelque chose au niveau du serveur ?


Merci pour votre aide.
Modifié par MagicCarpet (16 Feb 2013 - 00:21)
Une erreur 500 c'est un problème de traitement coté serveur.

Tu passe le champ nom comme objet et non comme valeur, c'est normal?
Salut,

Ta requête semble ok.
Il doit y avoir un truc qui déconne dans "php/contact.php".

tm
tm™ a écrit :
Salut,

Ta requête semble ok.
Il doit y avoir un truc qui déconne dans "php/contact.php".

tm


Mon code PHP est à priori simple, le voici :

<?php
	
	$chaine = '';
	
	if( isset($_POST['datas']) && $_POST['datas']) != null ){
		
		$chaine = json_decode($_POST['datas']);
		
		// Permet de créer un mail au format HTML et non texte.
		$headers = 'Content-Type: text/html; charset="UTF-8"' . "\r\n";
		$headers .= 'From: toto@tata.com';
		
		// On récupère les variables :
		$name = trim(ucwords($_POST['name']);
		$web = trim($_POST['web']);
		$email = trim($_POST['email']);
		$message = trim($_POST['message']);
		
		// Construction du message final :
		$says = "<b>".$name."</b> with an email address: ".$email.", have a message for you :<br />".$message;
		
		// On ajoute l'adresse du site internet si le champs est renseigné :
		if(!empty($web)) {
			$says .= "<br /><br />".$web;
		}
		
		// Envoi du mail.
		mail('unmail@mail.com', 'Contact Official Website', $says, $headers);
		
	}
	else {
		return false;
	}
	
?>

Modifié par MagicCarpet (08 Feb 2013 - 21:23)
Oken a écrit :
Une erreur 500 c'est un problème de traitement coté serveur.

Tu passe le champ nom comme objet et non comme valeur, c'est normal?


Eh bien j'ai procédé de cette façon sur mon autre AJAX sur le même site et ça fonctionne bien.
Il me semble que ce n'était pas comme ça au départ, d'ailleurs je passé par une requête $.post et non $.ajax
a partir du moment ou tu ne peux pas aller sur ta page, ca ne marchera pas mieux si tu l’appelles en ajax.

tu dois pouvoir aller sur
http://www.czechglasspoint.com/php/contact.php

si tu y vas directement en passant par ton navigateur -> erreur 500

pas la peine de chercher si ton ajax ou la facon de l'appeller est bonne tant que cette url est bloquée

a vérifier les droits sur le fichier php, si l'url est bonne et le htaccess
Modifié par canvasdev (08 Feb 2013 - 21:37)
canvasdev a écrit :
a partir du moment ou tu ne peux pas aller sur ta page, ca ne marchera pas mieux si tu l’appelles en ajax.

tu dois pouvoir aller sur
http://www.czechglasspoint.com/php/contact.php

si tu y vas directement en passant par ton navigateur -&gt; erreur 500

pas la peine de chercher si ton ajax ou la facon de l'appeller est bonne tant que cette url est bloquée

a vérifier les droits sur le fichier php, si l'url est bonne et le htaccess


Qu'est-ce qui ne pourrait pas coller avec le .htaccess ?
beyriem a écrit :
Hello, il faut également que tu donnes les droits en lecture sur ton répertoire /php.


Je viens de tester avec les droits 777 sur le dossier qui contient le fichier PHP et le fichier lui-même. Toujours l'erreur 500.

J'ai supprimé le .htaccess car je l'ai fais moi-même (en me basant sur se que j'ai trouvé sur le net) mais toujours le même problèmes.

Je suis réellement à cours d'idées, je ne sais pas quoi faire de plus.

EDIT : si je met le e.preventDefault(); en commentaire, alors je n'ai plus l'erreur 500.
MAIS ça ne fonctionne pas Smiley ohwell
Modifié par MagicCarpet (15 Feb 2013 - 17:52)
Est-ce que dans la première balise de form il faut les action et method quand on utilise AJAX ?

EDIT : apparemment oui. Quelqu'un peut m'expliquer comment récupérer mes variables de formulaire en passant par $AJAX ? J'y suis presque.
Modifié par MagicCarpet (15 Feb 2013 - 23:27)