Visualizzazione risultati 1 fino 7 di 7

Discussione: Segnalazione errore PHP

  1. #1
    Guest

    Predefinito Segnalazione errore PHP

    Ciao a tutti!
    Ho creato un file chiamato session.inc.php contenente questo codice:
    Codice PHP:
    <?php

    $userid
    = "";
    $session = false;

    if (isset(
    $_SESSION["imagehost-user"]))
    {
    $session = true;
    $username = $_SESSION["imagehost-user"];
    $password = $_SESSION["imagehost-pass"];
    $avatar = $_SESSION["imagehost-avatar"];

    $q = "SELECT id, userpass, avatar FROM `members` WHERE (username = '$username') and (password = '$password')";
    if(!(
    $result_set = mysql_query($q))) die(mysql_error());
    $number = mysql_num_rows($result_set);

    if (!
    $number) {
    session_destroy();
    $session = false;
    }
    else {
    $r = mysql_fetch_array($result_set);
    $userid = $r['id'];
    $userpass = $r['userpass'];
    $avatar = $r['avatar'];
    }
    }
    else
    $session = false;

    ?>
    Allora.. questo è il mio problema: Praticamente SOLO IN ALCUNE PAGINE mi esce questo messaggio:

    Notice: Undefined index: imagehost-avatar in /membri/nomesito/session.inc.php on line 11
    Mi fa vedere correttamente tutto, quindi mi legge il codice, solo che in alcune pagina mi esce questo messaggio ._. Qualcuno sa come aiutarmi?

    Mi esce anche quando provo ad includere le ultime discussioni del forum
    Codice PHP:
    $forum.="<b> &raquo; <a href=\"http://www.nomesito.altervista.org/forum/viewtopic.php?t=".$fetchM[2]."\" target=\"blank\"> $stringa </a></b><br/>
    <small>di <a href=\"http://nomesito.altervista.org/forum/memberlist.php?mode=viewprofile&u="
    .ucfirst(strtolower($fetchM[4]))."\" target=\"_blank\">".ucfirst(strtolower($fetchM[3]))."</a> il $data</small><br/><br/>";
    }
    echo
    $forum;
    Notice: Undefined variable: forum in /membri/nomesito/cartella/pagina.php on line 99
    Thanks

    Thinker

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In entrambi i casi (c'è una leggera differenza, ma la sostanza non cambia) stai cercando di accedere ad una variabile che non hai definito, appunto le variabili $_SESSION['imagehost-avatar'] e $forum.

    Questo significa che non le hai inizializzate da qualche altra parte: la soluzione più rapida sarebbe quella di fare un assegnamento "a vuoto" prima di utilizzarle, ma non è detto che così il risultato sarà quello che desideri...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Grazie mille, ho risolto facendo come hai detto.
    Sfortunatamente alcuni errori rimangono nonostante io abbia definito le variabili...

    Codice PHP:
    Notice: Undefined index: imagehost-avatar in /membri/nomesito/session.inc.php on line 11

    Notice
    : Undefined index: imagehost-newmsg in /membri/nomesito/session.inc.php on line 12

    Notice
    : Undefined index: msgchange in /membri/nomesito/messaggio.inc.php on line 2

    Warning
    : mysql_num_rows(): supplied argument is not a valid MySQL result resource in /membri/nomesito/messaggio.inc.php on line 7
    Il file session.inc.php l'ho già postato nel messaggio precedente, questo è il contenuto della pagina messaggio.inc.php

    Codice PHP:
    <?
    $msgchange2
    = $_POST["msgchange"];


    if (
    strlen($msgchange2) < 1) {
    $r = mysql_query("SELECT * FROM 'members' WHERE (id = '$userid')");
    $n = mysql_num_rows($r);

    mysql_query("UPDATE `my_nomedb`.`members` SET `newmsg` = 'display: none;' WHERE `members`.`id` = $userid LIMIT 1 ;"); }
    ?>

    <h2 class="topTitle"><link rel="stylesheet" type="text/css" href="messaggio.css" />

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>

    <script type="text/javascript" src="http://***/script.js"></script>


    <script src="http://code.jquery.com/jquery-latest.min.js"></script>

    <div id="timelineLimitera"> <!-- Hides the overflowing timelineScroll div -->
    <div id="timelineScrolls"> <!-- Contains the timeline and expands to fit -->

    <ul class="eventList" style="<?php echo $newmsg ?>">
    <li class="news" title="Titolo del messaggio">
    <img src="http://cdn.iconfinder.net/data/icons/tango/22x22/actions/mail-message-new.png"> Hai <b>1</b> nuovo messaggio! <div style="float:right;"><form method=POST action=''>
    <input type=text name='msgchange' size=28 value="" style="display:none;"><input type="submit" value=" Segna come Letto " />
    </form></div>

    <div class="content">
    <div class="body">Contenuto del messaggio</div>
    <div class="title">Benvenuto in ***</div>
    <div class="date">Oggi</div>
    </li>


    </ul>

    </div></div>

    Praticamente se si preme il pulsante Segna come letto, nel css del msg viene aggiunta la funzione display:none. Non sarà un granchè ma è una cosa che ho fatto velocemente, giusto per iniziare :)


    E' possibile risolvere o quanto meno nascondere questi messaggi?

    Thanks

    Thinker

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Per quanto riguarda l'ultimo degli errori: hai sbagliato a scrivere la query, i nomi delle tabelle e dei campi non vanno inseriti tra apici (che delimitano invece le stringhe costanti in SQL).

    Volendo, puoi nascondere gli altri errori inserendo all'inizio dello script questa riga:
    Codice PHP:
    <?php
    error_reporting
    (E_ALL | ~E_NOTICE);
    ?>
    In questo modo, gli errori meno gravi come i "Notice" non verranno presentati... tuttavia, eventuali problemi che dovessero comportare questi errorini non verranno magicamente risolti: il consiglio che ti do è quello ti tenerli visibili, almeno fino a quando non sarai certo di aver risolto tutto...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    Thanks :)
    Avevi ragione tu, avevo sbagliato a scrivere^^
    L'unico problema che non riesco a risolvere è Notice: Undefined index: ._.
    Sto provando a cercare anche su Google e varie ma non trovo granchè.. qualcuno sarebbe così gentile da aiutarmi a cercare? :)

    Thanks

    Thinker

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non è che hai molto da cercare su errori del tipo "Undefined index": indica semplicemente che stai tentando di accedere ad una variabile che non hai ancora definito. Di solito la causa è che ti sei dimenticato un'istruzione che la inizializzi (o hai sbagliato a scriverla, e PHP non trova il riferimento che gli serve).

    Provo a farti un esempio, vediamo se così capisci meglio: su questo ciclo, dove e perché viene sparato il Notice "undefined index" (o meglio, "undefined variable")?
    Codice PHP:
    <?php
    $i
    = 0;
    while (
    $j < 10)
    {
    echo (
    $j);
    $j++;
    }
    ?>
    Stammi bene...
    Ultima modifica di dementialsite : 20-09-2010 alle ore 22.31.12
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    RISOLTO! Era sempre come hai detto tu, dementialsite, grazie.

    Thinker

    EDIT: ah scusa non avevo letto la risposta ^^ gentilissimo, thanks
    Ultima modifica di alexthinker : 20-09-2010 alle ore 22.38.22

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •