[PHP] Progettino CRUD di esercitazione. Problema su $_FILE.

Phelps

Utente Attivo
17 Dic 2018
50
0
6
ciao ragazzi sono nuovo e devo fare un esercizio con PHP OOP.
Qualcosa và storto nella logica del mio esercizio e non riesco ad ottenere i giusti messaggi di controllo.
Se vi posto il link di dropmefile vi và di dargli un occhiata?
pesa 10kb è una sciocchezza!
Grazie fatemi sapere
 

Phelps

Utente Attivo
17 Dic 2018
50
0
6
Se lo esegui sul tuo Xampp riwci a capire meglio.. Nel file add_user.php c'è la logica di inserire un utente. Ad un certo punto io istanzio la classe file e chiamo il metodo set_file che mi fa un controllo del file e poi il metodo move_file che oltre a fare qualche controllo deve anche spostare il file..
Ora cosa succede che se compilo il form di add_user mandando il file vengo reindirizzato bene ad users.php, il percorso viene scritto nel database e il file viene spostato nella cartella. Se cercassi di inserire un file con lo stesso nome ottengo nella pagina add_user l'errore da me impostato file gia esistente. e ok
Quando invece io compilo il form di add_user ma nonallego nessun file , invece di essere reindirizzato ad user ed avere quindi il campo user_image vuoto ottendo lo stesso errore file gia esistente ! ma io non allogo nessun file voglio proseguire diretto senza caricare file..
Spero di aver reso l'idea..
 

macus_adi

Utente Attivo
5 Dic 2017
1.330
90
48
IT/SW
Nel solo file add_user.php modifica così:
PHP:
if (isset($_POST['submit'])) {
 /* $username = $_POST['username'];
  $password = $_POST['password'];
  $firstName = $_POST['firstName'];
  $lastName = $_POST['lastName'];*/
 
 
  $data_model=['username'=>'username','password'=>'password','first_name'=>'firstName','last_name'=>'lastName','user_image'=>''];
 
  if(!empty($_FILES['file_upload'])){
      $info = new SplFileInfo($_FILES['file_uploads']['name']);
      $data_model['user_image']=$info->getFilename().'-'.time().'.'.$info->get_Extension();
       $file = new File();
          $file->set_file($_FILES['file_upload']);
          if(!$file->move_file()){
            $message = $_SESSION['messaggio'];
            $session->message($message);
            redirect("add_user.php");
            die($message);
        }
  }
  $user = new User();
foreach($data_model as $k=>$v){
($k!='user_image')?$data_model[$k]=$_POST[$v]:null;
}


  $user->insert($data_model);
    $message = "User $user->id Inserted succesfully";
    $session->message($message);
    redirect('users.php');
}
 

Phelps

Utente Attivo
17 Dic 2018
50
0
6
<b>Fatal error</b>: Uncaught Error: Call to undefined method SplFileInfo::get_Extension() in C:\xampp2\htdocs\flavio\admin\add_user.php:16
Stack trace:
#0 {main}
thrown in <b>C:\xampp2\htdocs\flavio\admin\add_user.php</b> on line <b>16</b><br />
 

Phelps

Utente Attivo
17 Dic 2018
50
0
6
Ho messo if(!empty($_FILES['file_upload']['name'])) cosi la porzione di codice si attiva solo se arriva il nome del file immesso.
e poi nella classe file nei controlli di move uppload
ho detto che il file_exists e il moveupload si devono attivare solo se !empty($file['name'])
in move_file lo ricevo come $file e da add_user lo passo come $_FILES['file_upload']
funziona bene ora.

tu che mastichi bene php come vedi queste costruzioni?

Codice:
if (isset($_POST['submit'])) {
  $username = $_POST['username'];
  $password = $_POST['password'];
  $firstName = $_POST['firstName'];
  $lastName = $_POST['lastName'];
  $user_image = !empty($_FILES['file_upload']) ? $_FILES['file_upload']['name'] : '';
  $fields = [
    'username' => $username,
    'password' => $password,
    'first_name' => $firstName,
    'last_name' => $lastName,
    'user_image' => $user_image
  ];

if(!empty($_FILES['file_upload']['name'])){
    $file = new File();
    $file->set_file($_FILES['file_upload']);
    if(!$file->move_file($_FILES['file_upload'])){
      $message = $_SESSION['messaggio'];
      $session->message($message);
      redirect("add_user.php");
      die($message);
  }
}
  $user = new User();
  $user->insert($fields);
    $message = "User $user->id Inserted succesfully";
    $session->message($message);
    redirect('users.php');
}
 

Phelps

Utente Attivo
17 Dic 2018
50
0
6
grazie del tuo intervento.. Ho ricevuto comunque l'input per risolvere il problema.
Saluti a presto per un prossimo problema;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7
S Libreria PHP per creare file dwg o dxf PHP 0
A [cerco - retribuito] Sviluppatore Php freelance per progetti vari Offerte e Richieste di Lavoro e/o Collaborazione 2
L Google chart php mysql PHP 2
R Download file multipli da directory php PHP 0
F pagina dinamica PHP PHP 3
P Rimozione automatica url da sitemap.xml con PHP PHP 1
L php tinymce mi duplica la classe label PHP 3
S Errore PHP - Notice: Undefined index ... PHP 14
N file manager da php 5 a 7 PHP 15
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
elpirata Update dinamico informazioni scritte in una pagina php jQuery 11
N Mysql_result per PHP 7 PHP 2
Emix Select concatenate php sql ajax PHP 2

Discussioni simili