Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    "Notice: Undefined variable"

    Ciao a tutti..ho provato a cercare nel forum e a mettere in pratica le soluzioni proposte ma non ho risolto.

    Ho un problema con uno script che mi da questo errore "Notice: Undefined variable: cpt2 in /home/portaltop/public_html/Admin/admini/clash.php on line 275"

    Questa è la stringa originale
    codice:
    foreach ($keys2 as $k2) {
    				if($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;}
    			}
    Che ho provato a modificare così ma genera un altro errore a cascata:

    codice:
    			foreach ($keys2 as $k2) {
    				if(isset ($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;)}
    			}
    Ho quindi provato a modificare così ma ancora nulla:

    codice:
    			foreach ($keys2 as $k2) {
    				if(null !== ($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;)}
    			}
    Dove cappero sbaglio?

  2. #2
    Il problema è che cpt2 non è definita quando fai

    Codice PHP:
    if($cpt2 == 0
    Quindi definiscila. Prima del foreach metti

    Codice PHP:
    $cpt2 0
    In questo caso il comportamento è identico ma senza notice a causa della semplice uguaglianza == (non strict ===): una variabile non definita è == 0.

  3. #3
    Quote Originariamente inviata da Vam Visualizza il messaggio

    Niente da comunque errore

    Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in
    Quote Originariamente inviata da chumkiu Visualizza il messaggio
    Il problema è che cpt2 non è definita
    Si certamente..non ho copiato tutta la porzione di codice ma è definita.

    Questa la porzione di codice completa per questa funzione:

    codice:
            if(isset($_GET['n']) && isset($_GET['id']) && isset($_GET['action']) && $_GET['action'] == "edit"){
                echo '<script>console.log("Edit inside");</script>';
                $sql2 = "SELECT * FROM ".$_GET['n'].";";
                $res2 = $db->prepare($sql2);
                $res2->execute();
                $data2 = $res2->fetchAll(PDO::FETCH_ASSOC);
                $keys2 = array_keys($data2[0]);
                $first2 = null;
                $cp2t = 0;
                foreach ($keys2 as $k2) {
                    if ($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;}
                }
    
    
                $edition = 1;
                $sql = 'SELECT * FROM `'.$_GET["n"].'` WHERE '.$first2.'='.$_GET[$first2].';';
                $res = $db->prepare($sql);
                $res->execute();
                $data = $res->fetchAll(PDO::FETCH_ASSOC);
                $keys = array_keys($data[0]);
    
    
                echo '<form method="post" action="clash.php?n='.$_GET["n"].'">
                        <div class="row">
                            <table class="table table-striped table-bordered">
                                <tr>';
                $first = null;
                $cpt = 0;
                foreach ($keys as $k) {
                    if($cpt == 0){ $first = $k; $cpt += 1;}
                    echo '<th>'.$k.'</th>';
                }
                echo '</tr>';
                $nb = 0;
                foreach ($data as $k => $v) {
                    echo '<tr>';
                    foreach ($v as $key => $value) {
                        if($nb == 0){$custom = "disabled"; $nb = 1; $firstval=$value;} else{$custom="";}
                        echo '<td><input '.$custom.' type="text" name="'.$key.'" value="'.$value.'"></td>';
                    }
                    echo '</tr>';
                }
                echo '<input type="hidden" name="table" value="'.$_GET["n"].'">';
                echo '<input type="hidden" name="first" value="'.$first.'">';
                echo '<input type="hidden" name="firstval" value="'.$firstval.'">';
                echo '</table></div><input type="submit" class="btn btn-primary"></form>';
    
    
            }
    Nessuno è nato imparato

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    $cp2t = 0;
    foreach ($keys2 as $k2) {
    if ($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;}
    }

  5. #5
    Quote Originariamente inviata da provoadimparare Visualizza il messaggio
    Si certamente..non ho copiato tutta la porzione di codice ma è definita.
    No che non lo è.
    Ti svelo un segreto: il 99,99% delle volte, ciò che ti dice il messaggio di errore è vero! =)

    Dimmi dove, secondo te, sarebbe definita. (per la soluzione finale, boots ti ha messo il codice )

  6. #6
    Quote Originariamente inviata da chumkiu Visualizza il messaggio

    Dimmi dove, secondo te, sarebbe definita. (per la soluzione finale, boots ti ha messo il codice )
    Cappero hai ragione sorry.

    C'è solo un problema però, anche utilizzando la soluzione postata da boots il problema persiste. Non so più dove girarmi per capire da dove nasce
    Nessuno è nato imparato

  7. #7
    Quote Originariamente inviata da provoadimparare Visualizza il messaggio
    Cappero hai ragione sorry.

    C'è solo un problema però, anche utilizzando la soluzione postata da boots il problema persiste. Non so più dove girarmi per capire da dove nasce

    C'è un typo:

    una volta scrivi $cp2t e una volta scrivi $cpt2

    codice:
    $cp2t = 0; // <------ dovrebbe essere $cpt2 = 0
    foreach ($keys2 as $k2) {
          if ($cpt2 == 0){ $first2 = $k2; $cpt2 += 1;}
    }

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.