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

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:24
Euh... T'aurais pas plus compliquer ?
Pourquoi faire simple quand on peut faire compliquer c'est ça ? :p

Non sérieux, avec un code aussi charger, tu m'étonne qu'apache plante :p

Essaye plutôt ça :
<?php 
// Inclusion et execution du fichier db.php 
require('connexionBDD.php'); 


if(!isset($_POST["pseudo"]) || !isset($_POST["mdp"]) || empty($_POST["pseudo"]) || empty($_POST["mdp"])){ // Cas ou login et motdepasse n'xistent pas ou sont vides 
	echo 'Attention, remplissez tous les champs.'; 
} 
else{ // Recherche des utilisateurs. 
	$req = mysql_query("SELECT * FROM client WHERE pseudonyme='".$_POST["pseudo"]."' AND motdepasse='".$_POST["mdp"]."'") or die ("Erreur requete: ".mysql_error()); 
	if(mysql_num_rows($req) == 0){ // si utilisateur non trouvé
		echo 'Mauvais login ou mauvais mot de passe !';
		@mysql_close();
		header('location: index.php'); 
	} 
	else{ // sinon
		echo "Logs OK !";
		@mysql_close();
	}
}
?>


Plus court et moins lourd non ?
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
Modifié par hack_net le 20/05/2010 à 11:27
Sorry double post, pas vu qu'il y avait une autre page ><
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:44
j'ai remplacé le code, en ayant bien enregistré et actualisé, mais malheureusement j'ai quand même le bug de apache...
Merci quand même pour le code beaucoup plus simple en effet! =)
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:47
Arrête appache et redémarre-le ;)
0

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

Posez votre question
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
20 mai 2010 à 12:08
C'est fait, et je viens à nouveau de le refaire, rien n'y fait ...
Merci quand même de m'avoir accordé ton temps !
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 à 14:14
Le bug ne provient pas du bouton submit! C'était quasi-sur mais maintenant ça l'est à 100% xD En effet j'ai une page qui affiche des infos grâce à des requêtes et selon des conditions, et juste quand je demande d'afficher la page, il y a le rapport d'erreur...

voici le code: (c'est pour afficher des articles)

<div id="corps">
<h2> Les articles </h2><br>

<table>
<tr>
<td> Afficher les articles de la catégorie : </td>
<td><select NAME="categorie">
<option> Choisir categorie </option>
<?php $req=mysql_query("Select categorie from CATEGORIE") 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);?>
<option VALUE="<?php echo ' ' .$donnee["categorie"]. ' ';?>"><?php echo ' ' .$donnee["categorie"]. ' ';
$i=$i+1;
}
}?>
</select>
</td>
</tr>
</table>
<br><br>

<?php
$req = mysql_query("Select reference, libelle, stock, photo, prixunitaireht, souscategorie from article Order by souscategorie, prixunitaireht;") or die ("Erreur requete: ".mysql_error());

if( mysql_num_rows($req)<1)
{
?> <p> Aucun article n'est enregistré ! </p> <?php
}
else { ?>
<table class="affichage">
<tr>
<td><b>Sous catégorie</b></td>
<td><b>Référence</b></td>
<td><b>Libellé</b></td>
<td><b>Prix TTC</b></td>
<td><b>Stock disponible</b></td>
<td><b>Photo</b></td>
<td><b>Fiche article</b></td>
<td><b>Réserver</b></td>
</tr>
<?php

while( $donnee = mysql_fetch_array($req) )
{
// Sortie du résultat dans le tableau
?>
<tr>
<td align=center> <?php echo $donnee['souscategorie']; ?></td>
<td align=center> <?php echo $donnee['reference']; ?></td>
<td align=center> <?php echo $donnee['libelle']; ?></td>
<td></td>
<td align=center> <?php echo $donnee['stock']; ?></td>
<td align=center> <?php echo $donnee['photo']; ?></td>
<td></td>
<td>Panier</td>
</tr>

<?php
}
}
@mysql_close()
?>
</table>

</div>


La liste déroulante ne sert pas à grand chose pour le moment, je l'utiliserai dans le WHERE quand je saurais récupérer la valeur de la liste déroulante au moindre click sur celle ci ^^'
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 à 14:32
C'est ton windows qui doit faire planter ton apache... T'as essayer de redémarrer l'ordi ?

Ou plus radicale (non pas reformatter quand même =_=) désinstaller le logiciel et le ré-installer ?
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 à 14:50
oui j'ai redémarrer l'ordi, je vais essayé de le réinstaller (mais plus tard, ce n'est pas MON ordi ^^), je te dirais le résultat...

Merci !
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 à 15:02
Pas de problème ;)
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
21 mai 2010 à 11:51
J'ai trouvé le problème avec le serveur apache! Mais je ne sais pas vraiment l'explication. A la fin de mes fichiers, j'ai enlevé : @mysql_close() ...

Bref! tant que ça marque =p
0
hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
21 mai 2010 à 11:54
Ah oui en effet c'est très bizarre Oo je le met jamais m'enfin bref, comme tu dis tant que ça marche :p...
0
mimi8210 Messages postés 167 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 29 avril 2014 10
21 mai 2010 à 11:56
Oui !!
... Et encore merci beaucoup pour ton aide.
Bon week end !!
0