Visualizzazione risultati 1 fino 22 di 22

Discussione: Errore undefined index

  1. #1
    Guest

    Predefinito Errore undefined index

    Questo l'errore
    Notice: Undefined index: id_squadra in c:\programmi\easyphp1-8\www\scores\elabora_classifica.php on line 37
    Questa la riga 37
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");
    Quello che è curioso per me che sono ai primi passi è che se invece di classifica.php uso classifica.htm come form, sempre nella stessa directory, non ho l'errore. Mi sfugge però il motivo, datemi una mano please.
    P.S. come si fa ad inserire il codice in un riquadro con scrollbar?
    Ultima modifica di radioradianti : 21-01-2006 alle ore 15.46.12

  2. #2
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    devi definire la variabile passati per post in caso non esistano..
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  3. #3
    Guest

    Predefinito

    1) usa gli apici singoli nelle query
    2) nella query hai inseito il campo id_squadra, sei sicuro che quel campo esista? eventualmente prova a racchiuderlo tra apici
    3) se rinomini il file in .htm non ottieni l'errore perchè non viene "parsato", infatti se guardi il codice sorgente della pagina dal browser, dovresti vedere tutto il codice anche php che hai scritto...

  4. #4
    Guest

    Predefinito

    Il problema nasce da una select option: mentre nel form.htm i valori sono precaricati, in quello php si agganciano ad una tabella del mio database (e vengono visualizzati correttamente)
    Dal file classifica.php:
    <select name="nome_squadra">
    <?php
    $stringa_query="select * from squadre";
    $elenco_squadre=mysql_query($stringa_query) or die(mysql_error());
    while($row_squadre=mysql_fetch_array($elenco_squad re)){
    $id_s=$row_squadre[id_squadra];
    $nome_s=$row_squadre[nome_squadra];
    echo "<option value=\"$id_s\">$nome_s</option>\n";
    }
    ?>
    </select>

    Quando lancio il form.php riesco a caricare tutti gli altri dati ad esclusione naturalmente dell'id_squadra.

  5. #5
    Guest

    Predefinito

    credo di aver capito... negli array associativi, devi racchiudere i nomi dei campi tra ' oppure tra ", altrimenti ti da quell'errore

    Un'altra cosa... mysql_query va richiamata in questo modo:

    mysql_query ($query, $connessione)

    e non

    mysql_query ($query)
    Ultima modifica di ivano85 : 21-01-2006 alle ore 13.20.59

  6. #6
    Guest

    Predefinito

    Ehm...dici nel file classifica.php o nell'elabora_classifica.php?

  7. #7
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    giusto,gli arrayass devi metterli tra ['...'],e poi devi dare un valore alle variabili che gli passi nel caso in cui la variabile rimanga vuota,metti semplicemnte un if che gli dice che nel caso in cui sia vuota diventi NULL.altrimenti
    $variabile=$_POST[variabile_passata_per_post]..ciao
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  8. #8
    Guest

    Predefinito

    Vi chiedo una cortesia, mi riscrivereste le righe che ho postato perchè non ci ho capito 'na mazza lol

  9. #9
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    posta tutto lo script
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  10. #10
    Guest

    Predefinito

    Classifica.php

    Codice PHP:
    <title>Risultati</title>
    <?php
    $connessione
    =mysql_connect("localhost", "root", "") or die(mysql_error());
    $selezione_db=mysql_select_db("my_pes5league") or die(msyql_error());
    ?>
    <form name="moduloRisultati" action="elabora_classifica.php" method="post">
    <table width="311">
    <tr><td td width="119" height="35"><font face="Tahoma" style="font-size: 9pt">Squadra</font></td><td><select name="nome_squadra">
    <?php
    $stringa_query
    ="select * from squadre";
    $elenco_squadre=mysql_query($stringa_query) or die(mysql_error());
    while(
    $row_squadre=mysql_fetch_array($elenco_squadre)){
    $id_squadra=$row_squadre[id];
    $nome_squadra=$row_squadre[nome_squadra];
    echo
    "<option value=\"$id_squadra\">$nome_squadra</option>\n";
    }
    ?>
    </select> </tr>
    <tr>
    <td width="101"><font face="Tahoma" style="font-size: 9pt">Punti</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt"><select size="1" name="punti">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="3">3</option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td><font face="Tahoma" style="font-size: 9pt">Vittorie</font></td>
    <td>
    <font face="Tahoma"><span style="font-size: 9pt">
    <input type="text" name="vittorie" size="4" maxlength="40">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td valign="top" width="101"><font face="Tahoma" style="font-size: 9pt">Pareggi</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt">
    <input type="text" name="pareggi" size="4" maxlength="40">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td valign="top" width="101"><font face="Tahoma" style="font-size: 9pt">Sconfitte</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt">
    <input type="text" name="sconfitte" size="4" maxlength="40">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td valign="top" width="101"><font face="Tahoma" style="font-size: 9pt">Reti fatte</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt">
    <input type="text" name="reti_fatte" size="4" maxlength="40">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td valign="top" width="101"><font face="Tahoma" style="font-size: 9pt">Reti subite</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt">
    <input type="text" name="reti_subite" size="4" maxlength="40">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td valign="top" width="101"><font face="Tahoma" style="font-size: 9pt">Giornata:</font></td>
    <td width="200">
    <font face="Tahoma"><span style="font-size: 9pt">
    <select size="1" name="giornata">
    <option>0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></td>
    </tr>
    <tr>
    <td align="center" colspan="2"><font face="Tahoma">
    <span style="font-size: 9pt">
    <input type="submit" value="Invia" style="float: right"></span></font></td>
    </tr>
    </table>
    </form>
    Elabora_classifica.php

    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost", "root", "");
    $selezione_db=mysql_select_db("my_pes5league", $connessione);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>Risultati</TITLE>
    </HEAD>
    <BODY>

    <?php
    $inserimento
    =mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");
    ?>

    </BODY>
    </HTML>

  11. #11
    Guest

    Predefinito

    in classifica.php, dove scrivi $row_sqardre[campo], devi scrivere $row_squadre["campo"] perchè il nome del campo deve essere una stringa altrimenti ti da il notice.

    in più... controlla le chiamate a mysql_query (come ti ho scritto prima)... altrimenti risolto quell'errore te ne darà un altro per questo motivo

  12. #12
    Guest

    Predefinito

    Classifica.php modicato così

    Codice PHP:
    <?php
    $stringa_query
    ="select * from squadre";
    $elenco_squadre=mysql_query($stringa_query,$connessione) or die(mysql_error());
    while(
    $row_squadre=mysql_fetch_array($elenco_squadre)){
    $id_s=$row_squadre["id_squadra"];
    $nome_s=$row_squadre["nome_squadra"];
    echo
    "<option value=\"$id_s\">$nome_s</option>\n";
    }
    ?>
    Continua però a darmi il solito errore in elabora_classifica

    Undefined index: id_squadra in c:\programmi\easyphp1-8\www\scores\elabora_classifica.php on line 12

    Questa è la linea 12

    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");
    La tabella squadre come quella risultati hanno naturalmente un campo id_squadra
    Deve'essere legato al discorso della select option perchè gli altri dati me li inserisce correttamente!
    Che ne dite?

  13. #13
    Guest

    Predefinito

    e se invece in elabora_classifica prima della query che ti da problemi associ le varie
    $HTTP_POST_VARS['variabile'] a un'altra variabile:
    Codice:
    $id_squadra = $HTTP_POST_VARS['id_squadra']
    ecc
    e poi modifichi la query
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values ('$id_squadra,'$punti','$vittorie','$pareggi','$sconfitte','$reti_fatte','$reti_subite','$giornata')");
    cosa succede?

  14. #14
    Guest

    Predefinito

    Succede che ho lo stesso errore di undefined index su id_squadra. Ho provato ad eliminare nella query id_squadra e tutto funziona.
    Secondo me non riesce a prendere correttamente il valore dell'id_squadra così come glielo fornisce la select option in classifica.php.
    E' un'ipotesi non suffragata da alcuna conoscenza del php, ma mi sembra la più plausibile perchè altrimenti dopo aver eliminato id_squadra dalla variabile avrei dovuto avere l'errore sul campo successivo cosa che non è successa. Ma infatti il valore del campo successivo, cioè punti, nel form (classifica.php) lo inserisco tramite una select option con valori definiti da me.
    Aiutoooooooooooooooo.....

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da pes5League
    Succede che ho lo stesso errore di undefined index su id_squadra. Ho provato ad eliminare nella query id_squadra e tutto funziona.
    Secondo me non riesce a prendere correttamente il valore dell'id_squadra così come glielo fornisce la select option in classifica.php.
    E' un'ipotesi non suffragata da alcuna conoscenza del php, ma mi sembra la più plausibile perchè altrimenti dopo aver eliminato id_squadra dalla variabile avrei dovuto avere l'errore sul campo successivo cosa che non è successa. Ma infatti il valore del campo successivo, cioè punti, nel form (classifica.php) lo inserisco tramite una select option con valori definiti da me.
    Aiutoooooooooooooooo.....
    Ma l'errore te lo da il PHP oppure il mysql??? se te lo da il mysql le possibilità sono:

    1) il campo id_squadra non esiste
    2) non devi specificare il campo id_squadra perchè magari dovrebbe specificarlo automaticamente il mysql...

    prova ad esportare la tabella squadra e ad incollarci qui la query generata da phpmyadmin, magari ci capiamo un po' di più. ciao

  16. #16
    Guest

    Predefinito

    Mi sono spiegato male, quando parlavo di query mi riferivo a questa
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_ fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");
    L'ho provata senza id_squadra e ha funzionato, d'altra parte funziona anche la versione che ho postato qui. Tutti i dati vengono inseriti nella tabella Risultati tranne però il famigerato id_squadra per il quale ho ottenuto l'errore undefined index.
    La tabella Squadre ha tre campi: id_squadra, id_girone e nome_squadra
    La tabella Risultati ha 9 campi: id, punti, vittorie,pareggi,sconfitte,reti_fatte,reti_subite, giornata e id_squadra

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da pes5League
    Mi sono spiegato male, quando parlavo di query mi riferivo a questa
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_ fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");
    L'ho provata senza id_squadra e ha funzionato, d'altra parte funziona anche la versione che ho postato qui. Tutti i dati vengono inseriti nella tabella Risultati tranne però il famigerato id_squadra per il quale ho ottenuto l'errore undefined index.
    La tabella Squadre ha tre campi: id_squadra, id_girone e nome_squadra
    La tabella Risultati ha 9 campi: id, punti, vittorie,pareggi,sconfitte,reti_fatte,reti_subite, giornata e id_squadra
    Forse non ci stiamo capendo... io sto cercando di darti una mano a capire dov'è l'errore ma se tu non fai quello che ti diciamo, puoi trovartelo da solo l'errore... ti ho chiesto queste cose:

    1) struttura della tabella (non i campi)
    2) Errore così come ti viene visualizzato
    3) Applica le modifiche che ti abbiamo proposto prima, prima di continuare a dire che non funziona... visto che da quello che scrivi, mi sembra che di tutto quello che ti abbiamo consigliato di fare, non hai fatto nulla. ciao

  18. #18
    Guest

    Predefinito

    Ho modificato in classifica.php: $row_squadre[id_squadra] in $row_squadre["id_squadra"] e $row_squadre[nome_squadra] in $row_squadre["nome_squadra"].
    MySql_query l'ho richiamata così:
    Codice PHP:
    $elenco_squadre=mysql_query($stringa_query,$connessione)
    così come mi hai detto o meglio così come ho capito io.

    Struttura delle tabelle

    Risultati:
    Codice:
    CREATE TABLE `risultati` (
      `id` int(3) NOT NULL auto_increment,
      `punti` tinyint(1) default '0',
      `vittorie` tinyint(1) default '0',
      `pareggi` tinyint(1) default '0',
      `sconfitte` tinyint(1) default '0',
      `reti_fatte` tinyint(1) default '0',
      `reti_subite` tinyint(1) default '0',
      `giornata` tinyint(2) default '0',
      `id_squadra` int(2) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    Squadre:
    Codice:
    CREATE TABLE `squadre` (
      `id_squadra` int(2) NOT NULL auto_increment,
      `id_girone` int(1) default '0',
      `nome_squadra` varchar(25) NOT NULL default '',
      PRIMARY KEY  (`id_squadra`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    L'errore è questo:
    Codice:
    Notice: Undefined index: id_squadra in c:\programmi\easyphp1-8\www\scores\elabora_classifica.php on line 12
    e la linea 12 questa
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values (\"$HTTP_POST_VARS[id_squadra]\",\"$HTTP_POST_VARS[punti]\",\"$HTTP_POST_VARS[vittorie]\",\"$HTTP_POST_VARS[pareggi]\",\"$HTTP_POST_VARS[sconfitte]\",\"$HTTP_POST_VARS[reti_fatte]\",\"$HTTP_POST_VARS[reti_subite]\",\"$HTTP_POST_VARS[giornata]\")");?>
    Non mi pareva di aver detto molto di diverso prima

  19. #19
    Guest

    Predefinito

    Ok, ora prova a modificare nella linea 12 ovunque ci siano queste "variabili":

    $HTTP_POST_VARS[campo]

    con

    ".$HTTP_POST_VARS["campo"]."

    mi sembra ovvio che il problema non sia del MySQL, ma del PHP... quindi non vedo altra soluzione che questa...

  20. #20
    Guest

    Predefinito

    Linea 12 modificata così
    Codice PHP:
    $inserimento=mysql_query("insert into risultati (id_squadra,punti,vittorie,pareggi,sconfitte,reti_fatte,reti_subite,giornata) values (".$HTTP_POST_VARS["id_squadra"].",".$HTTP_POST_VARS["punti"].",".$HTTP_POST_VARS["vittorie"].",".$HTTP_POST_VARS["pareggi"].",".$HTTP_POST_VARS["sconfitte"].",".$HTTP_POST_VARS["reti_fatte"].",".$HTTP_POST_VARS["reti_subite"].",".$HTTP_POST_VARS["giornata"].")");?>
    Sempre lo stesso errore...

  21. #21
    Guest

    Predefinito

    Disabilita i notice

  22. #22
    Guest

    Predefinito

    Tutto risolto. Il problema era nel form di inserimento e precisamente nella select name: nome_squadra al posto del richiesto id_squadra.
    Grazie a tutti per la pazienza e per i consigli, in particolare a Ivano85.
    Comunque tornerò...è una minaccia !!!

Regole di scrittura

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