Visualizzazione risultati 1 fino 30 di 30

Discussione: piccolo problemino con php

  1. #1
    Guest

    Predefinito piccolo problemino con php

    ciao a tutti sono nuovissimo, ho problema con un codice php, il fatto e' che delle volte mi esegue solo il codice prima di "else",altre volte funziona bene e mi carica la foto nella cartella del server...dove e' che sbaglio? grazie a chi mi aiuta

    Codice PHP:
    <?php


    if (empty($_POST['file']))
    if (empty(
    $_POST['textarea'])) {
    header("Location: dati mancanti.html");

    }

    else {

    $temp = explode(".", $_FILES["file"]["name"]);
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
    header('Location: richiesta dati iviati.html');

    }

    ?>
    Ultima modifica di alemoppo : 14-09-2015 alle ore 16.52.26 Motivo: +tag [php]

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Quando esegue la prima parte, sicuro che non hai lasciato vuoto o il campo file o la textarea?

    Ciao!

  3. #3
    Guest

    Predefinito

    ciao grazie per la risposta rapida,piacere io sono fabio.No..infatti sto diventando matto..pero' ho notato una cosa....(se al posto di textarea scrivo "nome" mi esegue solo il codice di file...la foto me la carica perfetta ma il paradosso e' che non mi controlla se e' stato scritto nel campo testo,invece se scrivo textarea al posto di "nome" mi controlla sia il file che il campo testo ma quando eseguo il codice non mi sposta la foto,mi dice sempre come se mancasse uno dei due campi.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Allora fai così:
    Codice PHP:
    <?php


    if (empty($_POST['file']) || empty($_POST['textarea']))
    header("Location: dati mancanti.html");
    else
    {
    $temp = explode(".", $_FILES["file"]["name"]);
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
    header('Location: richiesta dati iviati.html');
    }

    ?>
    Ciao!
    Ultima modifica di alemoppo : 14-09-2015 alle ore 17.14.13

  5. #5
    Guest

    Predefinito

    ho provato..

    niente....se ce' scritto "textarea" mi manda la foto ma non controlla se e' stato scritto il testo,invece se scrivo "nome" mi controlla bene tutti e due i campi ma non mi esegue l'upload,mi da sempre errore! e' da manicomio!!!

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Beh è corretto: "nome" non lo controlli da nessuna parte.

    Cosa vorresti che facesse lo script?

    Ciao!

  7. #7
    Guest

    Predefinito

    ah ah... mi spiego meglio..dato che sono imbranato con msql ho cercato di fare un form dove ce' l'upload e uno dove ce' un'area di testo; mi spiego meglio....se mi legge il campo nome(ovvero quello dove ce' scrivere ,mi arriva la foto con la dicitura del testo che ha scritto...mi hai capito?..boo speriamo

  8. #8
    Guest

    Predefinito

    aspetta che non so neanche io come spiegarmi..ci penso...

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Prima di scrivere un codice devi aver le idee chiare te. Se non le hai nemmeno te, pensa come viene fuori il codice

    Comunque non capisco cosa intendi con "se mi legge il campo".

    Ciao!
    Ultima modifica di alemoppo : 14-09-2015 alle ore 17.45.39

  10. #10
    Guest

    Predefinito

    adesso con il codice tuo mi dice sempre che i campi sono vuoti..ahahahah

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Con il "codice mio", se lasci vuoto o la textarea o file, ti dirà che i campi sono vuoti.

    Bisognerebbe sapere invece come vorresti tu si comportasse lo script.

    Ciao!

  12. #12
    Guest

    Predefinito

    a parte gli scherzi...ho inserito il tuo codice...come me lo hai dato tu...e in tutti e due i casi ..(o se metto "nome" o se metto "textarea" mi dice sempre che i campi sono vuoti... mi hai capito? non mi fa l'upload.. io non ho lasciato vuoto nessun campo!...almeno prima la foto me la mandava..ah ah ah

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Citazione Originalmente inviato da lamiacassaforte Visualizza messaggio
    e in tutti e due i casi ..(o se metto "nome" o se metto "textarea" mi dice sempre che i campi sono vuoti... mi hai capito?
    È esattamente quello che dovrebbe fare lo script, come ho scritto nel mio messaggio precedente.

    Se non mi fai sapere come vuoi che il codice si comporti, non riesco ad aiutarti.

    Ciao!

  14. #14
    Guest

    Predefinito

    a ok scusa...allora...ho fatto il form con l'upload per le immagini e e l'area testo dove scrivere...e nell'area testo ce' il pullsante submit....in pratica io voglio che.... se l'utente ha caricato l'immagine ,se l'utente ha scritto nell'area testo mi esegue l'upload nella cartella del server..che dici me so spiegato?? ah ah

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Codice PHP:
    <?php
    if(isset($_POST['nome']) && !empty($_POST['nome']) && isset($_FILES['file']))
    {
    $estensione = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
    if(
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.$estensione))
    header('...');
    }
    else
    header('...');
    ?>
    Non capisco a cosa ti serve $_POST['textarea']

    Ciao!
    Ultima modifica di alemoppo : 14-09-2015 alle ore 18.31.41

  16. #16
    Guest

    Predefinito

    a moderatore grazie per la pazienza...ma $_POST[textarea'] mi serve a cosa?...mi rispiego meglio ...scrivendo nel campo textarea a me arriva la foto e insieme alla intestazione della foto mi arriva il testo.....es: immagine della foto e prima dell'estenzione jp,jep,gif, ho tutto il testo che hanno inserito..ci sei?per questo ho bisogno di sapere se hanno scritto anche nel campo testo,,altrimenti mi arriva solo la foto senza sapere cosa hanno scritto....ti ripeto sono imbranato piu di php con masql....pensa come sto..ah ah
    comunque con il tuo codice mi da sempre l'upload eseguito...anche se non caricano una foto..ci sei?...sapendo se non hanno rispettato i campi del form io li avviso e li rimando al form tramite un refresch..ci sei? ti allego il form...e grazie ancora

    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>richiesta dati</title>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
    </head>
    <body
     style="background-color: rgb(204, 204, 204); color: rgb(0, 0, 0);"
     alink="#ee0000" link="#0000ee" vlink="#551a8b">
    <br>
    <br>
    <br>
    <br>
    <br>
    &nbsp;
    <br>
    <div
     style="position: absolute; width: 208px; height: 58px; top: 256px; left: 67px;"><big><span
     style="font-weight: bold;"><br>
    <br>
    </span></big><span style="font-weight: bold;"
     class="hps" closure_uid_955722047="156" nd="null"></span><span
     style="font-weight: bold;" class=""
     closure_uid_955722047="160" nd="null"></span><span
     style="font-weight: bold;" class="hps"
     closure_uid_934146965="1667" nd="null"><br>
    <br>
    </span><span style="font-weight: bold;" class="hps"
     closure_uid_934146965="1671" nd="null"></span></div>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <div
     style="position: absolute; height: 59px; width: 211px; top: 430px; left: 51px;"><span
     style="font-weight: bold;" class="hps"
     closure_uid_934146965="1674" nd="null"></span><span
     class="hps" closure_uid_934146965="1675" nd="null"></span><span
     class="hps" closure_uid_934146965="1676" nd="null"></span><span
     closure_uid_934146965="1677" nd="null"></span><span
     class="hps" closure_uid_934146965="1678" nd="null"></span><span
     class="hps" closure_uid_934146965="1679" nd="null"></span><span
     class="hps" closure_uid_934146965="1680" nd="null"></span><span
     class="hps atn" closure_uid_934146965="1681" nd="null"></span><span
     closure_uid_934146965="1682" nd="null"></span><span
     class="hps" closure_uid_934146965="1683" nd="null"></span></div>
    <div
     style="position: absolute; height: 210px; top: 282px; left: 291px;">
    <form action="upload.php" method="post"
     enctype="multipart/form-data"> <input name="file"
     id="file" type="file"><br>
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
      <textarea cols="20" rows="3" name="nome"></textarea>&nbsp;<input
     name="submit" value="invia richiesta dati" type="submit">
    </form>
    </div>
    </body>
    </html>
    Ultima modifica di karl94 : 15-09-2015 alle ore 00.20.29 Motivo: Formattazione

  17. #17
    Guest

    Predefinito

    buon giorno super moderatore..allora la notte porta consiglio..ah ah.... con il tuo codice mi dava degli errori ..sicuramente da parte mia,e sinceramente era troppo complesso per me, pero' sono riuscito a capire bene il problema che ho e in parte l'ho risolto,,, se puoi aiutarmi a risolverlo te ne sono grato:( funziona tutto bene e' mi carica la foto nella cartella del server,pero':::):

    allora ho capito bene che:

    la condizione "if" mi controlla solo la casella "submit" ...in pratica se io scelgo la foto con sfoglia e la visualizzo nella casella di sfoglia, e spingo submit mi da errore( in pratica mi esegue il codice if) mi dice "quello che voglio io

    in pratica per essere piu preciso il codice mi funziona solo se la casella testo e' stata scritta..ci sei? quello che mi piacerebbe a me e' che mi controllasse anche se e' stata scelta una foto e inserita nella casella sfoglia..ci sei?.

    in fine: nel codice mi controlla solo la variabile $_POST['nome'] (quella della casella testo). come devo fare per fargli vedere se e' stata scelta una immagine e inserita nella casella di sfoglia?? ho provato ma non ci sono riuscito.

  18. #18
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Citazione Originalmente inviato da lamiacassaforte Visualizza messaggio
    in pratica per essere piu preciso il codice mi funziona solo se la casella testo e' stata scritta..ci sei? quello che mi piacerebbe a me e' che mi controllasse anche se e' stata scelta una foto e inserita nella casella sfoglia..ci sei?.

    in fine: nel codice mi controlla solo la variabile $_POST['nome'] (quella della casella testo). come devo fare per fargli vedere se e' stata scelta una immagine e inserita nella casella di sfoglia?? ho provato ma non ci sono riuscito.
    Codice PHP:
    <?php
    if(isset($_FILES['file']))
    {
    $estensione = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
    if(
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.$estensione))
    header('...');
    }
    else
    header('...');
    ?>
    In questo caso però, se non scrivi nulla, $_POST['nome'] (e quindi il contenuto della textarea) è vuoto. Il file caricato quindi si chiamerà <numero random>-.<estensione>.

    Ciao!

  19. #19
    Guest

    Predefinito

    grazie moderatore per la risposta.... non sono pratico te l'ho detto e per questo ho sbagliato a scrivere un'altra domanda sul forum.
    detto questo..io apprezzo il tuo aiuto ma sembra che non ci capiamo...lo hai visto il form in html?
    io nel codice php devo solo mettere il codice che mi vede se e' stato spostato realmente un file, se non e' stato caricato nessun file gli faccio eseguire un'altra cosa .... come faccio con quello che mi fa "if (empty($_POST['nome']))... non lo so forse sono io che non capisco....ma questo codice di ..."if (empty($_POST['nome']))" mi ha funzionato subito, le ho provate tutte, ma ti ripeto se guardi cortesemente il form questa e' l'area dove mi controlla se e' stata scritto qualcosa,,, a me serve anche quello per dirgli se e' stato inserito,o scelto, o caricato un file. boooooooooooooo.......

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Codice PHP:
    if(isset($_POST['nome'])) //se il form è stato inviato
    #
    if(isset($_FILES['file'])) //se il form è stato inviato
    #
    if(empty($_POST['nome'])) //se l'utente non ha scritto nulla nella textarea
    #
    if(empty($_FILES['file']['name'])) //se non è stato selezionato alcun file
    #
    if($_FILES['file']['size'] > 0) //se è stato selezionato un file
    Scegli quel che ti serve.

    Ciao!
    Ultima modifica di alemoppo : 17-09-2015 alle ore 14.02.54

  21. #21
    Guest

    Predefinito

    grazie per la risposta, le ho provate gia ieri non funzionano, addirittura per evitare problemi ho fatto due form uno per la email e uno per l'upload, ma niente..... solo il form per la email funziona.... quello per l'upload non riesco a dirgli di farlo,,non ce' modo.... booooooooooooooo vabbe grazie sempre per la cortesia

  22. #22
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Ho provato a sniffare la richiesta e anche se si digita del testo nella textarea il browser non lo invia. (per questo non lo vede php). Invia il file e il submit. Invece di utilizzare una textarea utilizza un input type=text (significa testo su una riga).
    Codice PHP:
    <?php


    if (isset($_POST['submit'],$_FILES['file']) && $_POST['submit'] == 'invia richiesta dati' && !empty($_FILES['file']['name'])) // eventuale parametro separato da una virgola per isset
    header("Location: http://lamiacassaforte.altervista.org/richiesta%20dati%20iviati.html"); //Percorso completo e il carattere spazio ecquivale a %20 in una url
    else
    {
    $temp = explode(".", $_FILES["file"]["name"]);
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
    header('Location: http://lamiacassaforte.altervista.org/dati%20mancanti.html');
    }

    ?>
    Il name input di type text sarà il nuovo array
    Codice PHP:
    $_POST['name_input']
    Ultima modifica di darbula : 17-09-2015 alle ore 16.15.52 Motivo: edit

  23. #23
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Io ho testato lo script con questo preso da #16 eliminando le parti inutili/illeggibili:
    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>richiesta dati</title>
    </head>
    <body style="background-color: rgb(204, 204, 204); color: rgb(0, 0, 0);">
    <br>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input name="file" id="file" type="file"><br><br>
    <textarea cols="20" rows="3" name="nome"></textarea>
    <input name="submit" value="invia richiesta dati" type="submit">
    </form>
    </body>
    </html>
    E funziona.

    Ciao!

  24. #24
    Guest

    Predefinito

    grazie per la pazienza e soprattutto per la cortesia. facciamo cosi....ahahahah
    questo e' il form per l'upload....

    <form name="nome" action="upload.php" method="post"
    enctype="multipart/form-data"> <input name="file"
    id="file" type="file"><br>
    <input name="submit" value="Carica Foto"
    type="submit">
    </form>
    /////////////////////////////////////

    con il codice php per l'upload e' perfetto!!!!!!!!!!!!!
    mi carica il file alla perfezione!!!!!!!!!!!!!!!!!!!


    ORA:::::::::::::::::::: cosa devo scrivere prima del codice php per dirgli che se manca il file ,vai a questa pagina(......)??????????????

  25. #25
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Citazione Originalmente inviato da lamiacassaforte Visualizza messaggio
    cosa devo scrivere prima del codice php per dirgli che se manca il file ,vai a questa pagina(......)??????????????
    Guarda gli if che ti ho scritto sopra.

    Inoltre, sarebbe anche carino usare l'attributo required:
    Codice HTML:
    <input name="file" id="file" type="file" required>
    Non è un controllo vero e proprio: va comunque fatto lato PHP il controllo che stai cercando di fare, ma usare required può essere più carino per l'utente.


    Ciao!

  26. #26
    Guest

    Predefinito

    perfetto funziona benissimo....sinceramente tutte le if le avevo provate ieri ma non funzionavano..booo forse era sbagliato il nome nel modulo del form
    comunque grazie di cuore!

  27. #27
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    E si rettifico quello detto precedentemente, il form funziona anche con la textarea(avevo iserito nane invece di name per textarea)
    Ultima modifica di darbula : 17-09-2015 alle ore 16.16.18

  28. #28
    Guest

    Predefinito

    ciao super moderatore sono sempre io...ahhaahaha (ormai sono un incubo)... mi servirebbe un consiglio.... ho il sito ilculopiubellodelweb...
    solo che ho perso le credenziali di accesso...avevo mandato anche il documento mio,ma non ho mai ricevuto risposta,ce' qualcosa che posso fare?grazie
    Ultima modifica di lamiacassaforte : 17-09-2015 alle ore 22.53.44 Motivo: errore

  29. #29
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    Se non hai né email di recupero né password, non puoi recuperare l'account.

    CiaO!

  30. #30
    Guest

    Predefinito

    gia lo sapevo,grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •