Bonjour,
Voilà quelques heures que je me bats avec le code suivant pour lancer une redirection. C'est un script d'inscription (récupéré sur le net), une fois que l'inscription est validée (entrée en base de données), il devrait me renvoyer sur l'index.
1ère page, Formulaire :
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
75
76
77
78
79
80
81
82
83
84 <head> <title>Inscription</title> <script type="text/javascript" src="js/mootools.js"></script> <script type="text/javascript"> window.addEvent('domready', function(){ $('registerForm').addEvent('submit', function(e) { new Event(e).stop(); var log = $('log_res').empty().addClass('ajax-loading'); this.send({ update: log, onComplete: function() { log.removeClass('ajax-loading'); } }); }); }); </script> <style type="text/css"> body { font:0.7em Arial, helvetica, sens-serif; color:#567475; } .input { border: 1px solid #99b3b4; width: 220px; background: #e4ebeb; font: 11px verdana, sans-serif; color:#443; padding:3px; margin-bottom:4px; outline:none; } .input:focus { border:1px solid #567475; background: #e4ebeb; } .submit-btn { width: 54px; height: 20px; background: #743 url(img/submit.gif) no-repeat; outline: none; } .submit-btn:hover { background: #069 url(img/submit.gif) no-repeat 0 -20px; } div#container { border:1px solid #99b3b4; padding:15px; margin:auto; width:400px; } #log_res { height:auto; padding:15px; margin:100px auto 20px auto; width:400px; } #log_res p { margin:0; padding:4px 0 4px 0; } #log_res.ajax-loading {background: url(img/spinner.gif) no-repeat center; } .error { color:red; margin:0; padding:0; } </style> </head> <body> <div id="log"> <div id="log_res"> <!-- SPANNER --> </div> </div> <div id="container"> <form method="post" id="registerForm" action="register1.php"> <table align="center" cellpadding="2" cellspacing="0"> ..... le reste n'est que le formulaire en HTML
Enregistrement des données par register1.php :
Le header('Location: index.php'); est au seul endroit où j'ai trouvé une redirection qui "fonctionne" et j'ai bien essayé de le mettre partout sur les 2 pages et même avec des conditions pour ne pas afficher la 1ère page.
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 <?php include('include/functions.php'); include('include/connexion.inc.php'); if ($_POST['Pseudo']=='' || strlen($_POST['Pseudo'])<3) { $errors[] = 'Un pseudo est requis et doit comporter au moins 3 caractères'; } .............. Je coupe la vérification des données ............. if (valid_email($_POST['Email'])==FALSE) { $errors[] = 'Adresse email non valide'; } if(is_array($errors)) { echo '<p class="error"><b>Les erreurs suivantes sont apparues :</b></p>'; while (list($key,$value) = each($errors)) { echo '<span class="error">'.$value.'</span><br />'; } } else { //do something here----store to db, send email echo '<p><b>Félicitations !</b></p>'; echo '<span>Vous êtes maintenant enregistrés et prêt à jouer ! Vous allez être redirigé pour vous connecter.</span>'; $pseudo = $_POST['Pseudo']; $email = $_POST['Email']; $pays = $_POST['Pays']; $language = $_POST['Language']; $query = "INSERT INTO blabla VALUES ('','$pseudo','$email','$pays')"; mysql_query($query); header('Location: index.php'); } ?>
Mais ma page index.php s'affiche dans la div log.
Je suppose que le problème vient de l'update qui se trouve dans cette partie mais étant à mes débuts en Ajax, je ne sais pas comment régler cela.
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <script type="text/javascript"> window.addEvent('domready', function(){ $('registerForm').addEvent('submit', function(e) { new Event(e).stop(); var log = $('log_res').empty().addClass('ajax-loading'); this.send({ update: log, onComplete: function() { log.removeClass('ajax-loading'); } }); }); }); </script>
Partager