8768 sujets

Développement web côté serveur, CMS

Bonjour,
je suis actuellement e stage,
on me demande de faire un site web avec un formulaire (avec la méthode POST) qui met les informations dans la base de données, ce que j'ai fait

Nous avons un site qui quand on rentre les informations dans l'url elle s'ajoute automatiquement sur la page (dans un tableau)

donc il faudrait que j'envoie les informations dans l'url pour qu'elle s’enregistre dans l'autre site
EXEMPLE : Site A
Nom : salut
prenom: orange
email : bddhdi@hduzgucb.fr
telephone: 0123456789

Il faut que je puisse généré une url et qu'elle s'ouvre sans que l'utilisateur le voie (ou non s'est optionnel)

quelque choses come sa :
monsite.fr/addvisiteurs?nom=salut&prenom=orange&entreprise etc etc etc
Administrateur
Bonjour,

en jQuery je connais $.post() https://api.jquery.com/jQuery.post/ mais il y a peut-être plus adapté ?
J'espère que les données sont filtrées, vérifiées, échappées avant insertion dans la BDD, parce que sinon c'est un trou béant dans la sécurité du serveur : si n'importe quelle autre page peut insérer nimp' et en n'importe quelle quantité ça va pas être joli à voir Smiley sweatdrop
Salut


Tu peux construire ton URL en javascript (très simple, c'est une chaine de caractère au final)
Et tu peux l'appeller
windows.location = href. et le href c'est ce que ta dans ton <a>
Modérateur
Bonjour, il est possible de faire cela soit du côté serveur (comme évoqué par Zelalsan) soit sur le client en javascript (AJAX). Cela te permet de réaliser une requête asynchrone sur une autre page (qui peut donc être invisible pour l'utilisateur). Par contre si ta requête va sur un autre serveur, il faut que celui-ci autorise ta requête.

En POST

var http = new XMLHttpRequest();
var url = 'https://www.bidule.com/post';
var params = 'nom=salut&prenom=orange&entreprise';
http.open('POST', url, true);

// Envoyer le bon header si les données doivent être reçues comme un formulaire
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
        alert(http.responseText);
    }
}
http.send(params);


En GET

var http = new XMLHttpRequest();
var url = 'https://www.bidule.com/post';
var params = 'nom=salut&prenom=orange&entreprise';
http.open('GET', url + '?' + encodeURI(params), true);

http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
        alert(http.responseText);
    }
}
http.send(params);