Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    cancellare tramite form

    Ciao ragazzi,
    ho il seguente codice:


    Se eseguo la query in mysql va tutto ok, se invece cerco di inoltrarla coi form ho dei problemi:
    Notice: Undefined index: nome in /var/www/html/Tesi/pages/cartelle.php on line 94 Notice: Trying to get property of non-object in /var/www/html/Tesi/pages/cartelle.php on line 101
    Codice PHP:
    <?php
    if (!(isset($_SESSION['login']) && $_SESSION['isLoggedIn'] == 'true'))

    {
        
    header('Location: index.php');
    }
    ?>



        [url='index.php']Home[/url]
        

        [url='index.php?page=logout']Esci[/url]
        

        [url='index.php?page=registrazione']Profilo[/url]
        

        [url='index.php?page=cartelle']Gestione cartelle[/url]
    </p>
    <?php
    // crazione nuova cartella
    if (isset($_REQUEST['crea']) && $_REQUEST['crea'] == 'Crea' && $_REQUEST['nome_cartella'] != "")
    {
      
    // verifica se esiete già la cartella
      
    $query "SELECT * FROM Cartella WHERE Nome = '".$_REQUEST['nome_cartella']."' AND Docente = '".$_SESSION['matricola']."'";
      if (!(
    $result $__MYSQLI->query($query)))
      {
        
    print_r('Errore '.$__MYSQLI->error);
      }
      
      if (
    $result->num_rows == 0)
      {
        
    // Creazione cartella
        
    $query "INSERT INTO Cartella (Nome, Docente) VALUES ('".$_REQUEST['nome_cartella']."', '".$_SESSION['matricola']."')";
        if (!(
    $result $__MYSQLI->query($query)))
        {
          
    print_r('Errore '.$__MYSQLI->error);
        }
      }
      else
      {
        echo 
    "

    [b]La cartella esiste gi&agrave;[/b]</p>"
    ;
      }
    }

    // Elenco dei file nella cartella selezionata
    if (isset($_REQUEST['dir']) && $_REQUEST['dir'] != '')
    {
        
    $query "SELECT * FROM Cartella WHERE ID='".$_REQUEST['dir']."'";
        if (!(
    $result $__MYSQLI->query($query)))
        {
            
    print_r('Errore '.$__MYSQLI->error);
        }
        
    $row $result->fetch_assoc();
        
    ?>
        <h3>Elenco cartella /<?php echo $row['Nome'?></h3>
        [url='index.php?page=cartelle']..[/url]
        

        <?php
        $query 
    "SELECT Inserimento.File AS File, Inserimento.Cartella AS Cartella, Inserimento.Docente AS Docente, File.PathName AS PathName, File.Name AS Name, File.Estensione AS Estensione FROM Inserimento INNER JOIN File ON Inserimento.File = File.ID WHERE Inserimento.Cartella = '".$_REQUEST['dir']."' AND Inserimento.Docente = '".$_SESSION['matricola']."'";
        if (!(
    $result $__MYSQLI->query($query)))
        {
            
    print_r('Errore '.$__MYSQLI->error);
        }
        if (
    $result->num_rows>0)
        {
            while(
    $row $result->fetch_assoc())
            {
        
    ?>
                [url='<?php echo $row[']'><?php echo $row['Name'].$row['Estensione'?>[/url]
                

        <?php
            
    }
        }
    }
    else
    {
        
    // Elenco delle cartelle sel docente
        
    $query "SELECT * FROM Cartella WHERE Docente = '".$_SESSION['matricola']."'";
        if (!(
    $result $__MYSQLI->query($query)))
        {
            
    print_r('Errore '.$__MYSQLI->error);
        }
        
    ?>
        <h3>Elenco cartelle</h3>
        <?php
        
    if ($result->num_rows>0)
        {
            while(
    $row $result->fetch_assoc())
            {
        
    ?>
                [url='index.php?page=cartelle&dir=<?php echo $row[']'><?php echo $row['Nome'?>[/url]
                            <input type='submit' name='nome' size ='50' value='cancella' >
                

        <?php
            
    }
        }
            
    $k $_POST['nome'];
       
            
    $query "DELETE FROM Tesi.Cartella WHERE Cartella.Nome='$k'";
    if (!(
    $result $__MYSQLI->query($query)))
        {
            
    print_r('Errore '.$__MYSQLI->error);
        }
            if (
    $result->num_rows>0)
        {
            while(
    $row $result->fetch_assoc())
            {
                        
    $Nome           $row['Nome'];
                        
                        echo 
    $Nome;
                    }
                    
            }
            
            
    ?>
        


            [b]Crea nuova cartella[/b]
            

            <form method='POST'>
                <input type='text' name='nome_cartella' value='' />
                <input type='submit' name='crea' value='Crea' />
            </form>
        </p>
    <?php
    }






    ?>

    vorrei che quando si premesse il bottone Cancella in base alla cartella rappresentata, quest'ultima si cancellasse, ma non ne vengo a capo.

    Potete aiutarmi?

    Grazie e buona serata.

  2. #2
    Stampa a video (anche con un semplice echo) le query prima di eseguirle e vedi se sono corrette.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Magari potresti indicarci, se non ti costa troppo sforzo, quali sono le righe 94 e 101 incriminate...
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  4. #4
    Ok scusate; in ordine righe:
    94 $k = $_POST['nome'];

    101 if ($result->num_rows>0)

    la 101 dovrebbe essere sesseguente alla motivazione della 94

  5. #5
    Originariamente inviato da satifal
    Stampa a video (anche con un semplice echo) le query prima di eseguirle e vedi se sono corrette.

    ciao,
    la query va bene, l'ho provata anche da terminale direttamente inserendo il nome di una cartella presente, direttamente.

  6. #6
    Originariamente inviato da phpmydeath
    ciao,
    la query va bene, l'ho provata anche da terminale direttamente inserendo il nome di una cartella presente, direttamente.
    Non metto in dubbio che una query eseguita a mano funzioni, ma stampare a video quella generata effettivamente da PHP è un'altra cosa. In questo modi ti accorgi se le variabili sono correttamente valorizzate.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Originariamente inviato da satifal
    Non metto in dubbio che una query eseguita a mano funzioni, ma stampare a video quella generata effettivamente da PHP è un'altra cosa. In questo modi ti accorgi se le variabili sono correttamente valorizzate.
    Non voglio lasciare nulla d'intentato, per cui ecco quanto richiestomi:

    Notice: Undefined index: nome in /var/www/html/Tesi/pages/cartelle.php on line 94 DELETE FROM Tesi.Cartella WHERE Cartella.Nome='' Notice: Trying to get property of non-object in /var/www/html/Tesi/pages/cartelle.php on line 103

    lienea 103 proviene dalla 101 scalata in virtù dell'echo presente sulla query.

  8. #8
    Originariamente inviato da phpmydeath
    Non voglio lasciare nulla d'intentato, per cui ecco quanto richiestomi:

    Notice: Undefined index: nome in /var/www/html/Tesi/pages/cartelle.php on line 94 DELETE FROM Tesi.Cartella WHERE Cartella.Nome='' Notice: Trying to get property of non-object in /var/www/html/Tesi/pages/cartelle.php on line 103

    lienea 103 proviene dalla 101 scalata in virtù dell'echo presente sulla query.
    Come puoi ben vedere dall'output:

    codice:
    DELETE FROM Tesi.Cartella WHERE Cartella.Nome=''
    la variabile che dovrebbe contenere il valore da passare a Cartella.Nome è vuota. Ora ti basta scoprire perchè!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Ad una prima occhiata forse dovresti sostituire:

    Codice PHP:
    ...
    $k $_POST['nome']; 
    ... 
    con:

    Codice PHP:
    ...
    $k $_POST['nome_cartella']; 
    ... 
    dato che è così che l'hai chiamato nel form:

    Codice PHP:
    ...
    <
    input type='text' name='nome_cartella' value='' /> 
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    il codice sviluppato è quello postato.

    Dovrei riuscire a premere il pulsante Cancella (form presente al fianco del link della cartella) e dare alla query il valore ( e quindi il nome della cartella) da cancellare.

    Grazie intanto del tuo suggerimento satifal

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.