Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Verificare se array esiste!

    Non so neppure se il titolo sia corretto però mi trovo in una situazione che non capisco.

    ho questo pezzo di script:

    <?php
    $nome_var = $_GET['giocatore'];
    if ($nome_var=="" ){echo"Non hai selezionato nulla";}
    else{
    if( is_array($nome_var) )

    {count($nome_var);
    reset($nome_var);
    foreach ($nome_var as $value) {
    $inserimento="INSERT INTO $squadra(nome_cognome) VALUES('$value')";
    $prova=mysql_query($inserimento) or die(mysql_error("Inserimento Squadra Fallito"));
    }
    }
    }
    ?>

    Non dovrebbe fare altro che :
    1)verificare che $nome_var(che è un array derivante da checkbox) esiste,è pieno o che so io.
    2)Nel caso in cui non lo fosse mostrare il messaggio"NN hai selezionato nulla", in caso contrario proseguire e fare un inserimento in una tabella del database.

    Ahimè funge tutto tranne che se non seleziono nessun checkbox mi esce tale errore:Notice: Undefined index: giocatore
    e sotto il messaggio che avrei voluto.
    Sapete aiutarmi?
    Grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    hai usato un approccio "classico" per la verifica della variabile, presupponendo che $_GET['giocatore'] sia una stringa nulla se non impostato. Invece risulta non inizializzato (cioè non esiste).

    Devi cambiare il controllo da:

    Codice PHP:
    if ($nome_var=="" ){echo"Non hai selezionato nulla";} 
    a:

    Codice PHP:
    if (isset($nome_var)){echo"Non hai selezionato nulla";} 

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Ho provato come mi hai consogliato, nonostante l'avessi già fatto, però niente da fare, continua a cacciarmi lo stesso errore :Undefined index: giocatore.
    L'unica variante è che questa volta il messaggio d'errore che avevo scritto io non esce proprio.
    Se può essere d'aiuto nel darmi una mano posto il codice completo e non solo la parte interessata:
    <?php
    $squadra="$_GET[squadra]";
    if($squadra==""){echo"Non c'è la squadra";}
    else{
    $creazione=mysql_query("CREATE TABLE $squadra(id INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,nome_cognome CHAR(30) NOT NULL,ruolo CHAR(20),club CHAR(15),costo MEDIUMINT(9) )");
    }
    $nome_var = $_GET['giocatore'];
    if (isset($nome_var)){echo"Non c'è il giocatore";}
    else{

    if( is_array($nome_var) )

    {count($nome_var);
    reset($nome_var);
    foreach ($nome_var as $value) {
    $inserimento="INSERT INTO $squadra(nome_cognome) VALUES('$value')";
    $prova=mysql_query($inserimento) or die(mysql_error());
    }
    }
    }
    ?>

    In pratica in un form precedente ho un input text e tutta una serie di checkbox, la variabile $squadra è il testo scritto nell'input mentre la variabile $nome__var è l'array creato dai checkbox. Ripeto continua a cacciare l'errore sulla riga della variabile $nome_var(Undefined index: giocatore)


    Grazie anticipatamente

    Ps: ho provato anche il comando sizeof ma niente.

  4. #4
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431
    Cambia

    Codice PHP:
    $nome_var $_GET['giocatore']; 
    if (isset(
    $nome_var))
    {echo
    "Non c'è il giocatore";} 
    else{ .. 
    in

    Codice PHP:
    if (!isset( $_GET['giocatore']))
    {echo
    "Non c'è il giocatore";} 
    else{ 
    $nome_var $_GET['giocatore']; 
    L'isset devi farlo direttamente sul $_GET, non dopo aver cercato di assegnarne il valore ad una variabile.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Ok grazie mille ora va bene,anche se il mio rammarico è che avevo provato a fare anche questo ma non l'avevo scritto così,mi sa che devo ancora studiare.Grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.