formulaire, pop-up, variables et php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire, pop-up, variables et php

par sop_graff » 13 juin 2005, 14:33

Je vous remercie tous de votre aide, en me basant sur l'ensemble de vos corrections, j'ai réussi!! merci et à une prochaine fois

par smarties » 11 juin 2005, 22:27

Tes données ne seront pas postées en tout cas donc ca sert à rien d'utiliser GET ou POST.
Donc je te propose d'essayer avec ca :

Code : Tout sélectionner

function popUP(url,nom,details) { window.open(url+"&une_des_variables="+document.f.une_des_variables,nom,details); } <form name="f"> <input type="text" name="une _des_variables"> <input type="button" onClick="popUP('ta_popup.php','popup','width=400,height=100');document.f.une_des_variables.value=''"> </form>

par sop_graff » 11 juin 2005, 22:19

ça j'ai déja essayé mais ça ne prend pas avec l'ouverture de la pop-up

par smarties » 11 juin 2005, 22:14

Sinon tu peux concaténer l'url avec les données de ton formulaire et tu récupères les infos dans la popup avec $_GET

par Samanderson » 11 juin 2005, 20:56

Je peux me tromper mais il faudrait peut-etre mettre method="GET" à la place de method="post" dans la balise <form>

par sop_graff » 11 juin 2005, 20:32

non, ya encore un problème, il indique tout de suite qu'il n'a aucune donnée à ajouté

par DocType » 11 juin 2005, 19:16

je le comprend mais je suis toujours en formation et je ne connais pas toutes les syntaxes, enfin merci beaucoup
ca fonctionne?, y'a aucun soucis restant?
dans ce cas la un modo peut il rajouté resolu au titre ou on laisse ouvert?
:wink:

par sop_graff » 11 juin 2005, 19:10

je le comprend mais je suis toujours en formation et je ne connais pas toutes les syntaxes, enfin merci beaucoup

par DocType » 11 juin 2005, 17:11

:roll: une erreur de ma part pour un tout petit point ... tu aurais pu le voir, non? tu connais quand même le PHP? ca m'inquiète là car j'ai l'impression que tu vas utiliser ce script sans rien y comprendre... :roll:
<html> 
<head> 
<title>Inscription</title> 
</head> 

<body> 
<?php 
if(isset($_POST['email']))    { 
    $date_ajout = date("Y-m-d"); 
    $point = strpos($_POST['email'],"."); 
    $aroba = strpos($_POST['email'],"@"); 
    // On vérifie si les champs sont vides 
    if((empty($_POST['email'])) or (empty($point)) or (empty($aroba)))    { 
        echo "<font color='red'>Votre email <strong>".$_POST['email']."</strong> nest pas valide</font>"; 
    }    else    { 
        // connexion à la base 
        $db = mysql_connect('localhost', 'root', '') or die("Erreur de connexion ".mysql_error()); 
        // sélection de la base 
        mysql_select_db('inscription',$db) or die("Erreur de selection ".mysql_error()); 
        // on écrit la requête sql 
        $sql = "INSERT INTO newsletter(email,date) VALUES ('$email','$date_ajout')"; 
        // on insère les informations du formulaire dans la table 
        mysql_query($sql) or die("Erreur SQL !".$sql."<br>".mysql_error()); 
        // on affiche le résultat pour le visiteur 
        echo "Votre email <strong>".$_POST['email']."</strong> a été ajouté."; 
        mysql_close(); // on ferme la connexion 
    } 
}    else    { 
    echo "Aucune donnée a ajouter !"; 
} 
?> 
</body> 
</html> 

par sop_graff » 11 juin 2005, 16:27

non, il y a une erreur quoi que je fasse il me mais
"Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\v3\add.php on line 25",
la ligne ne change pas que ce soit avec le code de la page add que vous m'avez donnez ou avec celui de ma mienne où j'ai laissé plus de ligne.
l'erreur ssemble venir de
"javascript:popUP('add.php','Inscription','width=400,height=100')"
dans la page d'acceuil, du moins c'est tout ce que je vois vu que quand je charge directement add.php, tout fonctionne

par DocType » 11 juin 2005, 15:28

avec $_GET dans ton script alors que je te donne la methode $_POST c'est sûr que cela ne fonctionnera pas :roll:
<html>
<head>
<title>Newsletter</title>
</head> 
<script language="JavaScript"> 
function popUP(url,nom,details) { 
	window.open(url,nom,details); 
} 
</script> 
<body> 
<form action="javascript:popUP('add.php','Inscription','width=400,height=100')" method="post" name="form" > 
<p align="center"> 
<input name="email" id="email" type="text" > 

</p> 
<p align="center"> 
<input type="submit" name="Submit" value="Envoyer"> 
</p> 
</form> 
</body> 
</html>
<html> 
<head> 
<title>Inscription</title> 
</head> 

<body> 
<?php 
if(isset($_POST['email']))	{
	$date_ajout = date("Y-m-d"); 
	$point = strpos($_POST['email'],"."); 
	$aroba = strpos($_POST['email'],"@");
	// On vérifie si les champs sont vides 
	if((empty($_POST['email'])) or (empty($point)) or (empty($aroba)))	{ 
		echo "<font color='red'>Votre email <strong>".$_POST['email']."</strong> nest pas valide</font>"; 
	}	else	{ 
		// connexion à la base 
		$db = mysql_connect('localhost', 'root', '') or die("Erreur de connexion ".mysql_error()); 
		// sélection de la base 
		mysql_select_db('inscription',$db) or die("Erreur de selection ".mysql_error()); 
		// on écrit la requête sql 
		$sql = "INSERT INTO newsletter(email,date) VALUES ('$email','$date_ajout')"; 
		// on insère les informations du formulaire dans la table 
		mysql_query($sql) or die("Erreur SQL !".$sql."<br>".mysql_error()); 
		// on affiche le résultat pour le visiteur 
		echo "Votre email <strong>"$_POST['email']."</strong> a été ajouté."; 
		mysql_close(); // on ferme la connexion 
	} 
}	else	{ 
	echo "Aucune donnée a ajouter !";
}
?> 
</body> 
</html> 
Y'a des chances que ca passe déjà mieux ! :wink:

par sop_graff » 11 juin 2005, 12:34

non, ça ne marche pas, en fait, newsletter.php demande l'email et submit doit l'envoié à add.php dans la pop-up

mon code
newsletter.php
<html>
<script language="JavaScript">
function popUP(url,nom,details) {
window.open(url,nom,details);
}
</script>

<body>
<form action="javascript:popUP('add.php','Inscription','width=400,height=100')" method="post" name="form" >
<p align="center">
<input name="email" id="email" type="text" >

</p>
<p align="center">
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
</body>
</html>
et add.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
// On commence par récupérer les champs

if(isset($_GET['email'])) $email=$_GET['email'];
else $email="";
$date=strftime("%Y-%m-%d");
$point = strpos($email,".");
$aroba = strpos($email,"@");



// On vérifie si les champs sont vides
if(empty($email) OR empty($point) OR empty($aroba))
{
echo '<font color="red">Votre email <strong>' . htmlentities($_GET['email']) . '</strong> nest pas valide</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('inscription',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO newsletter(email, date) VALUES('$email','$date')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Votre email <strong>' . htmlentities($_GET['email']) . '</strong> a été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>


</body>
</html>

par DocType » 11 juin 2005, 02:27

function popUP(url,nom,details) {
   window.open(url,nom,details);
}
<form action="javascript:popUP('ta_popup.php','popup','width=400,height=100')" method="POST">
<input type="text" name="une _des_variables">
<input type="submit">
</form>
ceci est à mon avis un code qui est fonctionnel...
lors de la validation, cela ouvre ta pop up et "normalement" les données post sont contenues avec cette pop up...

formulaire, pop-up, variables et php

par sop_graff » 11 juin 2005, 00:56

Bonjour a tous, voila, je vous explique mon problème:

j'ai sur ma page d'accueil un formulaire d'inscription à la newsletter du site et je veut enregister les infos de ce formulaire dans une base de donnée. J'ai donc fait le lien avec ma page PHP de verification et ajout à ma base. Jusque la tout marche et je veut ouvrir la page PHP dans une pop-up et je n'arrive alors plus à transmettre les données du form vers la pop-up.
Comment puis-je envoyé des infos en ouvrant une pop-up à partir d'un formulaire?
Merci