Erreur PHP a la conection de la session

Fermé
meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 - Modifié par meterrec le 1/06/2013 à 13:42
 Utilisateur anonyme - 2 juin 2013 à 22:26
Bonjour,
je suis en train de codé en php un système de dédicaces avec une page pour les posté, une page pour les voir et une page admin qui permet de les géré supprimé etc les 2 première page marche nikel mais quand arrive a la page admin j'entre mon pseudo et mon mdp et la il me marque 2 erreur au ligne 78 et 79 voici les 2 ligne en question
//Identifiant ok on connecte le membre
    $_SESSION['connecter'] = true;
    $_SESSION['pseudo'] = $pseudo_admin;


Quelqu'un aurait il une idée
Merci d'avance




meterrec

7 réponses

meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 6
1 juin 2013 à 13:59
Désoler j'ai oublier de noter les erreur, les voici

Warning: Cannot a scalar value as an array in C:\wamp\www\dedicace\admin.php on line 78
Warning: Cannot a scalar value as an array in C:\wamp\www\dedicace\admin.php on line 79
0
meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 6
1 juin 2013 à 22:07
up !
0
Utilisateur anonyme
2 juin 2013 à 19:42
Bonjour

L'erreur vient de plus haut dans ton script. Il faudrait que tu nous montres les lignes précédentes, tu as probablement fait $_SESSION=valeur au lieu de $_SESSION['qqchose']=valeur, ce qui a écrasé le tableau $_SESSION et l'a transformé en variable scalaire (non tableau).
0
meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 6
2 juin 2013 à 19:48
Voici le code de ma page.
<?php
include ('config.php');
?>
Veuillez vous connecter pour accéder a cette page.
<form method="post" action="admin.php">
</br><b>Pseudo :</b></br><input type="text" name="pseudo_adm" /><br/>
<b>Mot de passe :</b></br><input type="password" name="mdp_adm" /><br/>
<input type="submit" name="connexion" value="Se connecter"/>
</form>
<?php
     /*si la session connecter existe alors on affiche les pages*/
	$_SESSION = ($pseudo_admin && $mot_de_passe_admin);
    if($_SESSION['connecter'] == true){
    if(isset($_GET['page'])){
     
    if($_GET['page'] == 'supprimer'){
    if(isset($_GET['id'])){
    if($_GET['id']){
    mysql_query('DELETE FROM dedicace WHERE id='.mysql_real_escape_string($_GET['id']).'');
    echo '<h2>Dedicasse n°'.$_GET['id'].' supprimer</h2><br/>';
    }else{
    echo 'Id inconnu';
    }
    }
    }
    }
?>
    Voici la liste des dedicace poster:
    <table border="1" width="900">
    <tr>
    <th>Pseudo</th>
    <th>Message</th>
    <th>Ip</th>
    <th>Date</th>
    <th>Supprimer</th>
    </tr>
<?php
    /*on selectionne les donner des dedicace dans l'ordre des id*/
    $retour_dedi_admin = mysql_query('SELECT * FROM dedicace ORDER BY id')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'dedicace'</b> "));
    /*petite boucle pour tt afficher*/
    while($donnes_dedi_admin = mysql_fetch_array($retour_dedi_admin)){
     
    /*variables pour les dedicace+secu */
    $pseudo_dedicace = htmlspecialchars($donnes_dedi_admin['pseudo']);
    $message_dedicace = htmlspecialchars($donnes_dedi_admin['message']);
    $date_dedicace = $donnes_dedi_admin['date'];
    $ip_dedicace = $donnes_dedi_admin['ip'];
    $id_dedicace = $donnes_dedi_admin['id'];
?>
    <tr>
    <td><?php echo $pseudo_dedicace; ?></td>
    <td><?php echo $message_dedicace; ?></td>
    <td><?php echo $ip_dedicace; ?></td>
    <td><?php echo $date_dedicace; ?></td>
    <td><a href="admin.php?page=supprimer&id=<?php echo $id_dedicace; ?>">Supprimer</a></td>
    </tr>
<?php
    }
?>
    </table>
<?php
    /*la session existe pas on lui refuse l'accée au page on affiche le formulaire de connexion */
    }else{
     
     
    if(isset($_POST['connexion'])){
    if(isset($_POST['pseudo_adm']) && $_POST['pseudo_adm'] != null){ /*si le pseudo est different de null (ou vide) alors on continue le script*/
    if(isset($_POST['mdp_adm']) && $_POST['mdp_adm'] != null){ /*si le mot de passe est different de null (ou vide) alors on continue le script*/
     
    /*variables de pseudo poster */
    $pseudo_poster = $_POST['pseudo_adm'];
    $mdp_poster = $_POST['mdp_adm'];
     
    if($pseudo_poster == $pseudo_admin){ /*si le pseudo poster est le même que le pseudo dans config.php alors on continue le script*/
    if($mdp_poster == $mot_de_passe_admin){ /*si le mot de passe poster est le même que le mot de passe dans config.php alors on continue le script*/
     
    /*tout est bon, on connecte le membre <img src="image/smile.png" alt=":)"/> */
    $_SESSION['connecter'] = true;
    $_SESSION['pseudo'] = $pseudo_admin;
?>
    <script type="text/javascript" language="javascript">
    document.location.href="admin.php";
    </script>
<?php }else{ /*le mot de passe renseigner est inccorect */
    echo '<div id="erreur">Mot de passe incorect</div>';
    }
    }else{ /*le pseudo renseigner est inccorect */
    echo '<div id="erreur">Ce pseudo n\'est pas reconnu.</div>';
    }
    }else{ /*le mot de passe est vide */
    echo '<div id="erreur">Veuillez indiquer votre mot de passe</div>';
    }
    }else{ /*le pseudo est vide */
    echo '<div id="erreur">Veuillez indiquer votre pseudo</div>';
    }
    }
?>
<?php
    }
?>
0

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

Posez votre question
Utilisateur anonyme
2 juin 2013 à 21:47
As-tu compris quelque chose à ma réponse ?

J'avais écrit tu as probablement fait $_SESSION=valeur
et ligne 12 je lis $_SESSION = ($pseudo_admin && $mot_de_passe_admin);

C'est bien là l'explication de ton erreur.
Il faut que tu corriges cette ligne qui ne veut rien dire, en tous cas probablement pas ce que tu croyais.
0
meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 6
2 juin 2013 à 22:17
Effectivement, je n'ai pas fait attention.. j'ai enlever cette ligne pour voir ce qu'il m'afficher et il m'affiche:
Notice: Undefined variable: _SESSION in C:\wamp\www\Dedicaces\admin.php on line 12
Mais je dirais normal vu que la variable n'est pas défini.. le problème c'est que je ne sais pas quoi mettre a la place
0
ShayFmw Messages postés 105 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 10 juillet 2013 43
Modifié par ShayFmw le 2/06/2013 à 22:22
Bonsoir,
Si tu ne déclares pas le début d'une session, tu ne peux pas affecter des variables à des sessions

met
session_start();
$_SESSION['blabla'] = $blabla
etc...


Passionné d'informatique et de jeux vidéos.
0
meterrec Messages postés 58 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 16 octobre 2015 6
2 juin 2013 à 22:25
Il me marque la même erreur mais a la ligne 13 ( la même ligne vu que j'en ai rajouter un ).
0
Utilisateur anonyme
2 juin 2013 à 22:26
Le problème c'est que tu brûles les étapes. Tu te lances dans quelque chose d'élaboré sans avoir les bases.
Tu as supprimé une ligne comme ça, pourquoi l'avais-tu mise avant ?

Normalement, ce n'est pas à toi de déclarer explicitement la variable $_SESSION, elle est déclarée quand tu exécute l'instruction session_start(); pour ouvrir ta session.
Mais ça ne suffira pas, il va te dire ensuite que l'index 'connecter' est inconnu. C'est à toi de tester son existence avant de vérifier sa valeur.
0