Interprétation php + bouton submit

Résolu/Fermé
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 - 18 mai 2010 à 15:36
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 - 21 mai 2010 à 11:56
Bonjour,

Je développe un site. J'utilise des "si... alors... sinon...." pour savoir ce que j'affiche selon si l'utilisateur est connecté ou non. Mon problème: tout est affiché, donc mes conditions ne sont pas prises en compte. Voici un exemple :


if ( (empty ($_SESSION["pseudonyme"]) ) || ($_SESSION["pseudonyme"] == "") )
{ ?>
<a href="pageconnexion.php" target=_top>Connexion</a><br>
<a href="pageinscription.php" target=_top>Inscription</a><br>
<?}
else
{?>
<a href="pagemoncompte.php" target=_top> Mon compte </a> <br>
<?
}
?>



De plus, j'ai un autre soucis, peut être est-il en rapport avec le premier (?). J'ai des formulaires avec un bouton "enregistrer" puis un bouton "annuler" tels que :


<input type="submit" value="Enregistrer" onclick="window.location.replace('codeconnexion.php')"/>

<input type="button" value="Annuler" onclick="window.location.replace('index.php')"/>


Lorsque je clique sur "Enregistrer" (donc bouton submit), il y a un gros bug: "Apache HTTP Serveur a rencontré un problème et doit fermer...". Le bouton "Annuler" fonctionne correctement en me redirigeant sur la page index.php . Je précise que le formulaire en question contient bien dans ses paramètres "action="fichier-executant-le-code.php"" ...



En espérant avoir été assez claire...
Je vous remercie d'avance pour votre aide.



A voir également:

32 réponses

justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
Modifié par justoo76 le 18/05/2010 à 15:40
Bonjour,

Deja pour ton if , il vaut mieux utiliser :


if(isset($_SESSION['pseudonyme']))
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
18 mai 2010 à 15:40
Pour ce qui est du code PHP, voilà une petite correction :

<?php
if (isset($_SESSION["pseudonyme"]) || $_SESSION["pseudonyme"] == ""){
?> 
<a href="pageconnexion.php" target=_top>Connexion</a><br> 
<a href="pageinscription.php" target=_top>Inscription</a><br> 
<?php
}
else{
?> 
<a href="pagemoncompte.php" target=_top> Mon compte </a> <br> 
<?php
}
?> 

0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
18 mai 2010 à 16:15
Pourquoi est-il préférable de remplacer "empty" par "isset" ? (j'essaye de comprendre un peu ce que j'écris ^^')

J'ai copié collé ton code à la place du mien, et il signale une erreur à la ligne où se trouve justement ce "isset":
if (isset($_SESSION["pseudonyme"]) || $_SESSION["pseudonyme"] == ""){

Je te remercie pour ton aide !
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
18 mai 2010 à 16:25
Je précise que dans le message d'erreur, il est marqué que la variable _SESSION n'est pas défini ... ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
Modifié par justoo76 le 18/05/2010 à 16:32
ah lol, dans ton fichier.php juste apres <?php tu ecrit session_start();
sa te permet bah de demarrer une session , pour gérer les variables $_session.
Tu devra le mettre au debut de tout tes fichiers utilisant les $_session.

pour le isset, c'est "est-ce que la variable $_session['pseudo'] est instancié ?"
or pour le empty "est-ce que la variable $_session['pseudo'] est vide ?"

Donc d'apres moi e: ( (empty ($_SESSION["pseudonyme"]) revient au meme que ($_SESSION["pseudonyme"] == "") )
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
18 mai 2010 à 16:38
Ah oui d'accord merci beaucoup pour tes explications très claires !! =)

Cependant, même après avoir sauvegarder mes modifications, et mis à jour la page, la même erreur reste affichée.... >_<'
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
18 mai 2010 à 16:40
alors si tu est sous wamp, tu click sur l'icon wamp dans ta barre, PHP -> PHP settings, et la tu coche "register globals" tu redemar wamp et normalement c'est bon !!
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
18 mai 2010 à 16:43
Et si je travaille avec easyphp ... ?
(non ! non ! je ne suis pas casse pied xD)
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
Modifié par justoo76 le 18/05/2010 à 16:49
Bah il doit y avoir quasiment la même chose, sa doit être dans les configurations de PHP.
En gros c'est pour utiliser les variables superglobales comme $_SESSION.

C'est sur que tu doit avoir qqch a cocher

Sinon tu instal wamp, c'est rapide, et facile d'utilisation ;)
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
18 mai 2010 à 16:48
D'accord je vais essayer de fouiller dans tous ces fichiers bizarres ^^'.
Je te remercie encore de m'avoir aider aussi vite ! =) A bientôt ...
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
19 mai 2010 à 15:54
Mon problème avec les sessions a été réglé, merci justoo76 !
Quelqu'un aurait une solution pour mes boutons submit ? Je rappelle mon problème, lorsque je clique sur le bouton pour valider mon formulaire, j'ai un gros bug où une fenêtre d'erreur apparaît me demandant si je souhaite envoyer le rapport d'erreur...
0
biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 106
Modifié par biboo_ le 19/05/2010 à 15:58
L'histoire du rapport d'erreur, on dirait que c'est Apache qui plante..
Juste une question, qu'est sensé faire la partie "onclick=window.location.replace('blabla.php')" ?
0
justoo76 Messages postés 186 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 23 mars 2016 13
19 mai 2010 à 16:00
Yeahh !!

Pour ton submit , tu peux poster ton code et expliquer plus en détail l'erreur ? stp
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
19 mai 2010 à 16:39
Rep à biboo_ :
la partie "onclick=window.location.replace('blabla.php')" permet de rediriger vers une autre page en gros (elle fonctionne pour annuler), mais je l'ai enlevé pour le bouton submit, c'était juste un test foireux que j'avais fais, désespérément xD...

Rep à justoo76 :
comme l'a dit biboo_ c'est en effet un message d'apache : "Apache HTTP server a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru" ... Envoyer le rapport d'erreurs / Ne pas envoyer. Puis ensuite ma page affiche : "Erreur de chargement de la page .... Connexion réinitialisée".

Voilà, j'espère avoir été assez claire...
0
biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 106
19 mai 2010 à 17:04
Pour la redirection, tu devrais utiliser "window.location.href" :]
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
19 mai 2010 à 17:37
J'ai essayé, mais ça ne marche pas, enfin en tout les cas pour le bouton annuler ça marche bien, donc ce n'est pas très grave pour la façon de coder je pense.

c'est vraiment ce submit qui pose un gros problème... c'est pas évident de continuer à coder avec ce soucis!
Enfin merci quand même de m'aider =)
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
20 mai 2010 à 10:25
Pourquoi s'embêter avec un onClick ? Un submit exécute la page que tu as définit dans "action" de ton form, ou es le pb ?
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
20 mai 2010 à 10:51
Oui le onclick était un test, je ne l'ai plus dans mon code, donc je récapitule mon code pour le bouton enregistrer :
<input type="submit" value="Enregistrer" />

J'ai également essayé en ajoutant un name et id, mais toujours le meme problème : rapport d'erreur d'apache... je précise aussi que dans mon form j'ai bien mis en action le bon fichier php...
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
20 mai 2010 à 10:53
Pourrais-tu re-poster l'ensemble du code s'il te plait ?

S'il y a une erreur appache, ça sonne pas bon à mon avis :s
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
20 mai 2010 à 10:59
<html>
<head>
<title>SITE<title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css_bleu.css" />
</head>

<body>
<div id="principal" width="100%">

<!-- Ici c'est l'en tête de la page -->
<div id="en_tete" align=center>
<img src="bannierepub.jpg" width="100%">
</div>

<!-- Ici c'est le menu/sommaire -->
<div id="menu" align=left>
<object data="pagesommaire.php" type="text/html"/>
</div>

<!-- Ici c'est le contenu principal de la page -->
<div id="corps">
<h2 align=center>Connexion</h2>

<br><br>
<form name="formco" method="post" action="codeconnexion.php">
<table>
<tr>
<td> Pseudonyme : </td>
<td><input type="text" name="pseudo"></td>
</tr>
<tr>
<td> Mot de passe : </td>
<td><input type="password" name="mdp"></td>
</tr>
</table><br>

<p>
<input type="submit" value="Enregistrer"/>  
<input type="button" value="Annuler" onclick="window.location.replace('index.php')"/>
</p>
</form>
</div>

</div>
</body>
</html>
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
20 mai 2010 à 11:09
C'est plus le php qui nous intéresserais :p
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
20 mai 2010 à 11:12
Boulet ! ...désolée xD

<?php
// Inclusion et execution du fichier db.php
require('connexionBDD.php');


if(empty($_POST["pseudo"]) || empty($_POST["mdp"]))
{ // === Cas ou login et motdepasse sont vides
echo 'Attention, remplissez tous les champs.';
}
else
{
// Recherche des utilisateurs.
$req = mysql_query("Select pseudonyme ,motdepasse from client") or die ("Erreur requete: ".mysql_error());

if( mysql_num_rows($req) == 0 )
{ echo 'Problème sur la BDD';
header('location: index.php');
}
else
{ $i = 0;
$trouve =0;

while ( ( $i<mysql_num_rows($req) ) && ($trouve ==0) )
{
$donnee = mysql_fetch_array($req);
if ( ($donnee['Pseudo']==$_POST["pseudo"]) && ( $donnee['motdepasse']==$_POST["mdp"] ))
{ $trouve =1;
$_SESSION["pseudonyme"]=$donnee["pseudo"];
}
$i=$i+1;
}
if( $trouve == 0)
{ header('location: index.php');
}
}
}
@mysql_close();
header('location: index.php');
?>
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
20 mai 2010 à 11:13
et le problème, c'est que ça me le fait à TOUS les boutons submit .... =(
0