Erreur PHP a la conection de la session

meterrec Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   6
 
up !
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   6
 
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
 
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   Statut Membre Dernière intervention   6
 
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 106 Date d'inscription   Statut Membre Dernière intervention   43
 
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   Statut Membre Dernière intervention   6
 
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
 
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