• User

    Commento connessione database e caricamento file

    Salve a tutti,
    devo commentare in modo abbastanza dettagliato un pezzo di codice in cui c'è una connessione al database e il caricamento di un file, ma ho paura di scrivere cose sbagliate! Qualcuno di voi può dirmi se quello che ho scritto nei commenti è giusto ed eventualmente correggermi ed aggiungerne altri?? Grazie mille!!!

    [PHP]
    <?php //doAddAnnuncio.php
    session_start();
    $user=$_SESSION['user'];
    $idUtente=$_SESSION['idUtente']; //apertura connessione

    $titolo=$_POST['titolo']; //prendiamo i paramentri dal metodo post della pagine viewAddAnnuncio
    $descrizione=$_POST['descrizione'];
    $idCategoria=$_POST['idCategoria'];
    $error=false; //inizializziamo una variabile $error per il caricamento delle immagini
    if ($titolo=="" || $titolo==NULL) $error=true;
    if ($descrizione=="" || $descrizione==NULL) $error=true;

    //caricamento delle immagini
    $target_path = NULL;
    if(isset($_FILES['uploadedfile']['name'])&&$_FILES['uploadedfile']['name']!=NULL){
    $target_path = "uploads/"; //definisco la cartella di destinazione dei file caricati
    $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); //percorso del file che viene salvato,a cui viene accodato il nome del file

    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
        //echo "The file ".  basename( $_FILES['uploadedfile']['name']).
        " has been uploaded";
    } else{
        $error=true; //se $error==TRUE c'è il file non è stato caricato correttamente
        //echo "There was an error uploading the file, please try again!";
    }
    

    }

    //se non c'è un errore nel caricamento del file ci connettiamo al server mySQL
    if(!$error){
    $con = mysql_connect("localhost","utente","utente"); //Apre (o riutilizza) una connessione al MySQL server e restituisce un MySQL link identifier in caso di successo, o FALSE in caso di fallimento
    if (!$con) //connessione fallita
    {
    die('Could not connect: ' . mysql_error()); //termina la connessione al database
    }
    mysql_select_db("bacheca", $con); //???
    if($target_path!=NULL) //se il file è stato caricato e quindi esiste l'indirizzo del file
    if(mysql_query("INSERT INTO annunci (idUtente, idCategoria, titolo, descrizione, immagine)
    VALUES ('".$idUtente."', '".$idCategoria."', '".$titolo."', '".$descrizione."', '".$target_path."')")){ //aggiungiamo l'annuncio
    //echo("Annuncio+immagine aggiunto correttamente!");
    }
    }
    else{ // non è stata caricata nessuna immagine insieriamo l'annuncio nel database senza l'immagine
    if(mysql_query("INSERT INTO annunci (idUtente, idCategoria, titolo, descrizione)
    VALUES ('".$idUtente."', '".$idCategoria."', '".$titolo."', '".$descrizione."')")){
    //echo("Annuncio aggiunto correttamente!");
    }
    }
    $redirect="localhost/bacheca4/viewAnnunci2.php?m=all";
    header("Location: ".$redirect);

    }
    else { //????
    $redirect="localhost/bacheca4/viewAddAnnuncio.php";
    header("Location: ".$redirect);
    }
    ?>

    [/PHP]


  • User Attivo

    In linea di massima vanno bene,piuttosto commenterei anche dove ai posto dei punti interrogativi e nelle comparazioni se il confronto è andato bene oppure no,insomma nei punti salienti del flusso e stando attento a non commentare troppo altrimenti diventa pesante,solo nei punti nevralgici
    del flusso.
    :fumato:


  • User

    Ehm si lo so è che i punti interrogativi ce li ho messi perchè non ho capito cosa fa in quei punti... 😄


  • User Attivo

    Dunque,una consiglio che posso esprimere a che fare il copy paster non è corretto;comunque,qui
    [PHP]
    mysql_select_db("bacheca", $con); //???

    [/PHP]
    Significa che viene selezionato il database bacheca e $con è la stringa di connessione.
    [PHP]
    else
    [/PHP]
    Significa che dopo una condizione di controllo(if)se la condizione è vera segue il codice oppure rimane vuoto altrimenti(else)viene controllata la condizione seguente.esempio
    [PHP]
    $a="vero";
    if($a=="vero"){
    echo "condizione soddisfatta";}
    else
    {
    echo"condizione di $a non è vera";
    }
    [/PHP]
    :fumato:


  • User

    Cos'è il copy paster?? Comunque i punti interrogativi non erano riferiti all'else come istruzione, è che non avevo capito cosa faceva in tutta la parentesi dell'else. 🙂