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 :

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&egrave;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&eacute;licitations !</b></p>';
		echo '<span>Vous &ecirc;tes maintenant enregistr&eacute;s et pr&ecirc;t &agrave; jouer ! Vous allez &ecirc;tre redirig&eacute; 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');
	}

?>
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.
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.

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>
Merci de votre aide