- Home
- Categorie
- Coding e Sistemistica
- PHP
- Commento connessione database e caricamento file
-
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 fileif(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]
-
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.
-
Ehm si lo so è che i punti interrogativi ce li ho messi perchè non ho capito cosa fa in quei punti...
-
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]
-
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.