Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10

qwertyy

Nuovo Utente
1 Lug 2018
17
0
1
salve, mi da questo errore di NOTICE, come devo fare?
PHP:
<?php
if(isset($_POST['mod_id'])&&(is_numeric($_POST['mod_id'])))
{

  $codice = $row['codice'];
  $sql = "UPDATE appuntamenti SET titolo='$titolo', testo='$testo', str_data='$str_data', descrizione='$mansione', codice='$codice' WHERE id = $id";

}


$query = mysqli_query($conn, "SELECT titolo,testo,str_data, codice, descrizione FROM appuntamenti WHERE id = $id") or die (mysqli_error());
?>
<!-- MANSIONI DA POTER SVOLGERE -->
    <b>Mansione:</b> <br>
    <select class="work" name="work" style="width: 230px;">
      <option value="" > <?php echo $mansione ?>  </option>
      <option value=""> </option>
      <?php
      $query = mysqli_query($conn, "SELECT * FROM lavori");

      while ($row = mysqli_fetch_assoc($query)) {
        $descrizione = $row['descrizione'];
        $codice = $row['codice'];

        echo "<option value='$descrizione'>" . $descrizione . $codice . "</option>";
      }
      ?>
    </select>
    <br>
 
Ultima modifica di un moderatore:
if(isset($_POST['mod_id'])&&(is_numeric($_POST['mod_id'])))
{

$codice = $row['codice'];
$sql = "UPDATE appuntamenti SET titolo='$titolo', testo='$testo', str_data='$str_data', descrizione='$mansione', codice='$codice' WHERE id = $id";

}
Definisci prima della condizione le 2 valiabili "sql" e "codice".
 
Risposto su quando da te pubblicato.... Che undefined ti da? Nome variabile, altrimenti si va alla cieca!
 
Ma questa sulla linea 9 è corretta???'
row chi te la passa???
PHP:
[LIST=1]
[*]$id = $_POST['mod_id'];
[*]  $titolo = addslashes($_POST['titolo']);
[*]  $testo = addslashes($_POST['testo']);
[*]  $str_data = strtotime($_POST['data']);
[*]  $mansione = $_POST['work'];
[*]  $codice = $row['codice']; // chi te la passa questa?
[*]  $sql = "UPDATE appuntamenti SET titolo='$titolo', testo='$testo', str_data='$str_data', descrizione='$mansione', codice='$codice' WHERE id = $id";
[/LIST]
 
@qwertyy

Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 
Ma questa sulla linea 9 è corretta???'
row chi te la passa???
PHP:
[LIST=1]
[*]$id = $_POST['mod_id'];
[*]  $titolo = addslashes($_POST['titolo']);
[*]  $testo = addslashes($_POST['testo']);
[*]  $str_data = strtotime($_POST['data']);
[*]  $mansione = $_POST['work'];
[*]  $codice = $row['codice']; // chi te la passa questa?
[*]  $sql = "UPDATE appuntamenti SET titolo='$titolo', testo='$testo', str_data='$str_data', descrizione='$mansione', codice='$codice' WHERE id = $id";
[/LIST]




il seguente codice e' la parte del form:


PHP:
<!--      - - - - - - - - - - -  INSERIRE UN APPUNTAMENTO NELL AGENDA      - - - - - - - - - - - -->


<?php
if (isset($_POST['submit']) && $_POST['submit']=="invia")
{
  $titolo = addslashes($_POST['titolo']);
  $testo = addslashes($_POST['testo']);
  $str_data = strtotime($_POST['data']);
  $mansione = $_POST['work'];
  $codice = $row['codice'];
  include 'DB.php';
  $sql = "INSERT INTO appuntamenti (titolo,testo,str_data,codice,descrizione ) VALUES ('$titolo', '$testo', '$str_data', '$codice', '$mansione')";
  if($result = mysqli_query($conn, $sql) or die (mysqli_error($conn)))
  {
    echo "
    <br>
    <br>

    <h2 align='center' >
    Data correttamente inserita.
    </h2>

    ";
    echo "
    <center>
    Vai agli
    <a href='calendario/appuntamenti.php?day=$str_data' >
    Appuntamenti
    </a>
    </center>
    <br><br>";

    echo "<center>
    Torna al
    <a href='area.php' >
    Calendario
    </a>
    </center>";
  }
}else{
  ?>

  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >


    <!-- TITOLO DELL'APPUNTAMENTO -->
    <b>Titolo:</b> <br>
    <input name="titolo" type="text" autocomplete="off" style="width: 230px; text-transform: uppercase;" maxlength="35"><br>


    <!-- MANSIONI DA POTER SVOLGERE -->
    <b>Mansione:</b> <br>
    <select class="work" name="work" style="width: 230px;">
      <option value="null">  </option>
      <?php
      $query = mysqli_query($conn, "SELECT * FROM lavori");

      while ($row = mysqli_fetch_assoc($query)) {
      $descrizione = $row['descrizione'];
      $codice = $row['codice'];

      echo "<option value='$descrizione'>" . $descrizione . "</option>";
    }
      ?>
    </select>
    <br>

    <!-- TEXTAREA -->
    <b>Testo:</b> <br>
    <textarea name="testo" cols="30" rows="4" autocomplete="off"></textarea><br>


    <!-- DATA (SENZA ORARIO) -->
    <b>Data:</b> <br>
    <input name="data" type="text" placeholder="gg-mm-aaaa" autocomplete="off" style="width: 230px;" maxlength="10"><br><br>
    <input name="submit" type="submit" value="invia">
  </form>
</div>
<?php
}
?>



mentre il seguente e' quello riportato sopra, ovvero la modifica del form:

https://pastebin.com/QTAuesye




lo scopo del programma e':
FAR INSERIRE DALL'UTENTE DEI DATI
SUCCESSIVAMENTE POSSONO ESSERE MODIFICATI

pero' le variabili $mansione e $codice sono una SELECT di una tabella (lavori -- la quale contiene tutte le mansioni e i codici) che in seguito vengono inserite in un altra tabella (appuntamenti). Quindi se l'utente modifica la mansione allora anche il codice si modifichera, pero dà quell'errore...

non so se sono stato chiaro
 
AH ok, tu stai aspettando che row['codice'] ti arrivi dopo che hai inviato il form, ma non è così, stai utilizzando una logica errata....

Salvi il valore row['codice'] in sessione, o lo passi tramite _POST['codice'], altrimenti non può funzionare...

Quindi devi recuperare il valore _POST['work'] e da qui ritrovi il tuo codice = row['codice'];

Quindi ricapitolando....
Submit, hai solo i post e basta
recuperi il codice dalla descrizione, anche se si fa solitamente il contrario
inserisci/aggiorni il campo!
 

Discussioni simili