Page 1 sur 1

un header location qui foire

Posté : 27 oct. 2005, 15:07
par elboz
re salut j'ai un fichier de traitement de formulaire (insertion des données dans une BDD et upload d'une image) qui fonctionne sauf pour la redirection à l'issue du traitement

le code de la page upload.php3
<?php
// on détermine les dimensions maximums de l'image

$hauteur_max="800"; 
$largeur_max="800"; 
$poid_max="500000";

// on vérifie celles de l'image uploadée

$taille = getimagesize("$pseudo_photo"); 
$h_i = $taille[1]; 
$w_i = $taille[0]; 
$poid = filesize("$pseudo_photo");

$destination_photo="../trombinoscope/photo"; 

 if (($h_i<=$hauteur_max)&($w_i<=$largeur_max)&($poid<=$poid_max))
 {
 if(exif_imagetype($pseudo_photo)) // si c'est une image
{
if (is_writeable ("$destination_photo")) // si le fichier photo est ecrivable
{
copy($pseudo_photo, "$destination_photo/$pseudo_photo_name");
  	 }
  	}
  }
include "../Connections/akif2.php";

//on se connecte à la base de donnée
$dbconnect = mysql_connect($hostname_akif2,$username_akif2,$password_akif2) or die ("erreur de connexion");

//on selectionne votre base

mysql_select_db($database_akif2,$dbconnect) or die ("erreur de connexion base");


mysql_query("INSERT INTO user (`id`, `nom`, `ident`, `pass`, `adresse`, `contact`, `profil_id`, `email`, `info`, `pseudo_photo`, `valid`) VALUES ('', '$nom','$ident','$pass', '$adresse', '$contact', '$profil_id', '$email', '$info', '$pseudo_photo_name', ''); ") or die ("erreur insert ".mysql_error());

  header("location : ../module/index.php");


mysql_close();

?>
j'ai essayé sans else pour la redirection (pour faire simple)

mais je reste sur la page upload.php3
mes données sont bien insérées et l'image bien uploadée mais la redirection a foiré

comment je peux faire fonctionner le header("location ... ?

merci de votre aide

Posté : 27 oct. 2005, 15:15
par charabia
Utilises les balises
[/b] ton code sera beaucoup plus lisible pour les autres ;)

Edité : Sinon essaies de mettre ton [b]header("location : ../module/index.php");[/b] après le mysql_close(); pour tester.

Posté : 27 oct. 2005, 15:16
par elboz
ok charabia

mais sinon le header ??? ... je sais j'emmerde tout le monde mais il me reste plus que ça à régler et vu que ça fait 3 jours que je trimme j'en peux plus


dsl d'être aussi "driven"

Posté : 27 oct. 2005, 15:18
par zeus
Qu'est ce que tu entends par "a foirée" ? Un message d'erreur ?

Je ne sais pas si c'est un mauvais copier/coller mais il y a un espace au début de ton code et il ne fut qu'il y en ait si tu veux que ta redirection fonctionne

Posté : 27 oct. 2005, 15:19
par elboz
la redirection fonctionne pas c'est à dire que j'arrive sur la page upload.php3 et je reste là comme un rond de flanc (?)

sinon l'espace c'était une erreur de copié collé je viens de vérifier

Posté : 27 oct. 2005, 15:28
par charabia
Tu as testé ce que je t'ai mis après edit ? Tu peux aussi essayer de mettre le chemin complet dans ton header avec les http pour voir si ça ne viendrait pas de l'adresse.

Posté : 27 oct. 2005, 15:35
par elboz
dsl charabia j'avais pas vu ton edit

j'ai essayé les 2 choses que tu m'as conseillé

j'ai placé le header après la fermeture de la connexion sql

et j'ai mis le chemin absolu pour la redirection

ce qui donne
//on se connecte à la base de donnée
$dbconnect = mysql_connect($hostname_akif2,$username_akif2,$password_akif2) or die ("erreur de connexion");

//on selectionne votre base

mysql_select_db($database_akif2,$dbconnect) or die ("erreur de connexion base");


mysql_query("INSERT INTO user (`id`, `nom`, `ident`, `pass`, `adresse`, `contact`, `profil_id`, `email`, `info`, `pseudo_photo`, `valid`) VALUES ('', '$nom','$ident','$pass', '$adresse', '$contact', '$profil_id', '$email', '$info', '$pseudo_photo_name', ''); ") or die ("erreur insert ".mysql_error());

mysql_close();

header("location : http://akif2.free.fr/module/index.php");

?>
mais j'ai toujours le même résultat je suis scotché sur la page upload.php3 je comprends pas

Posté : 27 oct. 2005, 15:37
par Xenon_54
Y a-t-il du texte affiché? (que ce soit un message d'erreur ou tout autre message)

Essaie d'ajouter les lignes suivantes au tout début de ton script afin de révéler les erreurs non affichées s'il y a:
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
?>

Posté : 27 oct. 2005, 15:42
par elboz
j'ai fait un test en enlevant le header et en mettant un message à la place
if(exif_imagetype($pseudo_photo)) // si c'est une image
{
// si pas une image
echo "votre inscription a bien été effectuée elle sera validée prochainement<br><a href='http://akif2.free.fr/module/index'>Cliquez ici pour vous connecter</a>";
}
le message apparaît bien et le lien fonctionne (pas étonnant)

je vais essayer de faire le display error xenon

Posté : 27 oct. 2005, 15:46
par elboz
en remettant le header

et en rajoutant le code pour voir les erreurs de xenon j'arrive sur upload.php3 sans rien pas de texte aucune info et pas de redirection non plus ...

chui maudit ou quoi ?

Posté : 27 oct. 2005, 15:54
par Xenon_54
chui maudit ou quoi ?
Oui

Il faut bien écrire les entêtes:
header("location: http://akif2.free.fr/module/index.php");
Remarque que j'ai enlevé l'espace avant le caractère ":"

Posté : 27 oct. 2005, 16:02
par elboz
chui vraiment neuneu

merci xenon et à tous aussi de vous intéresser à mes problèmes

ça fonctionne quand on a bien fait gaffe de virer les espaces après le location et avant l'adresse)

merci à tous

un petit résolu maintenant que je sais ou il se trouve :D