Interprétation php + bouton submit
Résolu
mimi8210
Messages postés
167
Date d'inscription
Statut
Membre
Dernière intervention
-
mimi8210 Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
mimi8210 Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
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.
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.
32 réponses
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 :
Plus court et moins lourd non ?
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 ?
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! =)
Merci quand même pour le code beaucoup plus simple en effet! =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est fait, et je viens à nouveau de le refaire, rien n'y fait ...
Merci quand même de m'avoir accordé ton temps !
Merci quand même de m'avoir accordé ton temps !
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 ^^'
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 ^^'
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 ?
Ou plus radicale (non pas reformatter quand même =_=) désinstaller le logiciel et le ré-installer ?
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 !
Merci !
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
Bref! tant que ça marque =p