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 :
donation2.php : pas la peine c'est un script rentabiliwebCode:
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"); } } ?>
don.php :
Code:
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:
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\">" );