Bonjour, j'ai un problème de formulaire.


J'ai 3 pages php :

- identification.php ( une simple page d'identification qui récupère une donné dans la BDD via le login & mdp et la garde en mémoire via session )

- donation2.php ( une simple page avec un script rentabiliweb, aucun problème sur cette page, si le script rentabiliweb est bon cette page redirige vers don.php )

- don.php ( Ici si le code rentabiliweb est bon le script va incrémenter la valeur amount de +1 sur la valeur récupéré via la session ( login&mdp ) de identification.php, c'est à dire l'account_id correspond au login & mdp de identification.php va être selectionné et incrémenté de +1.


Voilà le problème :

Le script marche bien si la valeur gardé en mémoire ( ici : account_id ) existe déjà : il incrémente amount de +1
MAIS
si account_id n'existe pas dans la table donate il ne peut pas incrémenter amount de +1 , je lui demande donc avec une fonction if de créer la valeur account_id et de mettre 1 à amount. Cependant ça ne marche pas, voici les script :

identification.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<?php
session_start();
$root = "localhost";
$login="*****";
$pass="*******";
$db="*******";
 
if(isset($_POST['login'])&&isset($_POST['password'])) 
{
 
 
	$mysql = mysql_connect( $root, $login, $pass ) or die( "Impossible de se connecter au serveur MySQL [1]" );
	mysql_select_db( $db, $mysql) or die( "Impossible de se connecter au serveur MySQL [2]" );
 
 
 
 
	$username = trim($_POST['login']);
	$password = trim($_POST['password']);
	$result = mysql_query("SELECT `account_id` FROM `login` WHERE userid = '$username' AND user_pass = '$password'", $mysql);
	$account_id = mysql_fetch_assoc($result);
       $_SESSION['account_id'] = $account_id['account_id'];
 
if(mysql_num_rows($result) > 0){
	die("<meta http-equiv=\"refresh\" content=\"0; URL=index.php?lien=donation2.php\">" );
			}
 
 
		else{
    die("mauvais mot de passe ou login");
  }
}
?>
donation2.php : pas la peine c'est un script rentabiliweb

don.php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
<?php
session_start();
 
/** * Protection micropaiement Rentabiliweb */
 
 
// id du document protégé
$idprotect      = "******";
 
// PHP5 avec register_long_arrays désactivé?
if (!isset($HTTP_GET_VARS))
{
    $HTTP_SESSION_VARS    = $_SESSION;
    $HTTP_SERVER_VARS     = $_SERVER;
    $HTTP_GET_VARS        = $_GET;
}
 
//construction de la requête
if ($idprotect==$HTTP_GET_VARS[id])
{
    $requete      = "http://secure.rentabiliweb.com/Micropaiement.php?act=ss&";
    $requete     .= $HTTP_SERVER_VARS['QUERY_STRING'];
    $requete     .= "&REMOTE_ADDR=".$HTTP_SERVER_VARS['REMOTE_ADDR'];
    $tabrep       = @file($requete);
}
else
{
    unset($tabrep);
}
 
 
if($tabrep[0] == "OUI")
{
    $HTTP_SESSION_VARS["RentaSess"]    = true;
    // Ici le code de votre page protégé
    // ou bien une requete dans votre base de données suivis d'une redirection
 
 
$root = "localhost";
$login="******";
$pass="*******";
$db="******";
 
$mysql = mysql_connect( $root, $login, $pass ) or die( "Impossible de se connecter au serveur MySQL [1]" );
 
mysql_select_db( $db, $mysql) or die( "Impossible de se connecter au serveur MySQL [2]" );
 
if (!mysql_fetch_assoc(mysql_query("SELECT `account_id` FROM `donate` WHERE `account_id` = '{$account_id['account_id']}'")))
{
    mysql_query("INSERT INTO `donate` VALUES('{$account_id['account_id']}','1','')");
 
die("<meta http-equiv=\"refresh\" content=\"0; URL=merci.php\">" );
 
}
else
{
 
$query = ("UPDATE `donate` SET `amount` = `amount`+1  WHERE `account_id` = '".$_SESSION['account_id']."'");
 
 
$result = mysql_query($query);
 
 
 
die("<meta http-equiv=\"refresh\" content=\"0; URL=merci.php\">" );
 
}
 
 
session_destroy();
}
 
?>

Je pense que ça foire particulièrement ici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
if (!mysql_fetch_assoc(mysql_query("SELECT `account_id` FROM `donate` WHERE `account_id` = '{$account_id['account_id']}'")))
{
    mysql_query("INSERT INTO `donate` VALUES('{$account_id['account_id']}','1','')");
 
die("<meta http-equiv=\"refresh\" content=\"0; URL=merci.php\">" );