Visualizzazione risultati 1 fino 13 di 13

Discussione: Passaggio variabile php da pagina esterna

  1. #1
    Guest

    Predefinito Passaggio variabile php da pagina esterna

    Salve a tutti!
    Avrei una domanda riguardo al passaggio di una variabile presente su una pagina esterna.
    Io ho una pagina chiamata Profio.php dove vengono uploadate le immagini sul server. Questa pagina richiama un'altra pagina chiamata upload_manager.php dove viene gestito l'upload.
    A me piacerebbe che la variabile => $filename = $_FILES["photo"]["name"]; presente in upload_manager.php fosse inviata alla pagina Profilo.php ma non so come fare.
    Ho provato ad utilizzare header ma non serve a nulla.
    Come posso fare?
    Grazie Mille!

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Un metodo facile e veloce è redirigere il client verso la pagina [b]Profilo.php[/i], specificando i dati che ti servono nella querystring, in modo che siano accessibili attraverso $_GET:
    Codice PHP:
    $params = array('filename' => $_FILES["photo"]["name"]);
    $url = "Profilo.php?" . http_build_query($params);
    header("Location: " . $url);
    In alternativa, anziché andare avanti e indietro da Profilo.php a upload_manager.php, potresti valutare l'idea di lasciare che sia la pagina Profilo.php stessa a gestire il caricamento (eventualmente includendo uno script PHP che sia preposto a farlo, in modo da tenere separato il codice), evitando quindi il redirect ed i problemi ad esso collegati, come il passaggio di variabili.

  3. #3
    Guest

    Predefinito

    Okay...faccio come hai detto te...ovvero passo lo script della pagina upload manager nella pagina Profilo.
    ma quindi su form action="" che cosa scrivo per richiamare la funzione?

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Codice PHP:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>">
    ....

  5. #5
    Guest

    Predefinito

    Okay...allora...io ho fatto in questo modo...all interno del form ce un pulsante submit con name="invia".
    A inizio pagina ho messo un if con la condizione(isset($_POST['invia'])) e se e vero esegue tutto lo script della pagina upload manager.
    E giusto cosi?

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Sì, la strategia è corretta.

  7. #7
    Guest

    Predefinito

    Codice PHP:
    if (isset($_POST['invia'])){
    if (
    $_FILES['photo']['size'] != 0 && $_FILES['photo']['error'] != 0){
    echo
    '<script type="text/javascript">alert("OKAY");</script>';
    }
    }
    ?>
    Codice HTML:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" novalidate class="box">
                    <div class="box__input">
    			<svg class="box__icon" xmlns="http://www.w3.org/2000/svg" width="50" height="43" viewBox="0 0 50 43"><path d="M48.4 26.5c-.9 0-1.7.7-1.7 1.7v11.6h-43.3v-11.6c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v13.2c0 .9.7 1.7 1.7 1.7h46.7c.9 0 1.7-.7 1.7-1.7v-13.2c0-1-.7-1.7-1.7-1.7zm-24.5 6.1c.3.3.8.5 1.2.5.4 0 .9-.2 1.2-.5l10-11.6c.7-.7.7-1.7 0-2.4s-1.7-.7-2.4 0l-7.1 8.3v-25.3c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v25.3l-7.1-8.3c-.7-.7-1.7-.7-2.4 0s-.7 1.7 0 2.4l10 11.6z"/></svg>
    			<input type="file" name="photo" id="file" class="box__file" data-multiple-caption="{count} files selected" multiple />
    			<label for="file"><strong>Sciegli un immagine</strong><span class="box__dragndrop"> o trascinala qui</span>.</label>
    			<input type="submit" name="invia" value="INVIA"/>
    		</div>
    </form>
    Questo è il codice completo...non mi funziona.
    Ultima modifica di tuttitrucchiInvitaAmici : 16-06-2017 alle ore 17.14.41

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Che problema riscontri?
    Messaggi d'errore? Attendi un comportamento ma si verifica qualcos'altro?

  9. #9
    Guest

    Predefinito

    Quando premo invia non mi succede nulla

  10. #10
    Guest

    Predefinito

    Adesso ti posto tutto il codice

  11. #11
    Guest

    Predefinito

    Codice PHP:
    <?php
    if ($_FILES['photo']['size'] != 0){
    $dir= "imageupload/";
    echo
    '<script type="text/javascript">alert("ENTRATO");</script>';
    // Check if the form was submitted
    if($_SERVER["REQUEST_METHOD"] == "POST"){
    echo
    '<script type="text/javascript">alert("ENTRATO2");</script>';
    // Check if file was uploaded without errors
    if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0){
    $allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
    $filename = $_FILES["photo"]["name"];
    $filetype = $_FILES["photo"]["type"];
    $filesize = $_FILES["photo"]["size"];

    // Verify file extension
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    if(!
    array_key_exists($ext, $allowed)) die("Error: Please select a valid file format.");

    // Verify file size - 5MB maximum
    $maxsize = 5 * 1024 * 1024;
    if(
    $filesize > $maxsize) die("Error: File size is larger than the allowed limit.");

    // Verify MYME type of the file
    if(in_array($filetype, $allowed)){
    // Check whether file exists before uploading it
    if(file_exists("upload/" . $_FILES["photo"]["name"])){
    echo
    $_FILES["photo"]["name"] . " is already exists.";
    } else{
    move_uploaded_file($_FILES["photo"]["tmp_name"], "$dir" . $_FILES["photo"]["name"]);
    echo
    '<script type="text/javascript">alert("OK");</script>';
    }
    } else{
    echo
    '<script type="text/javascript">alert("ERRORE");</script>';
    }
    } else{
    echo
    "Error: " . $_FILES["photo"]["error"];
    }

    }
    }
    else{
    echo
    '<script type="text/javascript">alert("VUOTO");</script>';
    }

    ?>
    Codice HTML:
    	<form action="<?php echo $_SERVER['PHP_SELF']; ?>" id="form" method="post" enctype="multipart/form-data" novalidate class="box">
    
    		
    		<div class="box__input">
    			<svg class="box__icon" xmlns="http://www.w3.org/2000/svg" width="50" height="43" viewBox="0 0 50 43"><path d="M48.4 26.5c-.9 0-1.7.7-1.7 1.7v11.6h-43.3v-11.6c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v13.2c0 .9.7 1.7 1.7 1.7h46.7c.9 0 1.7-.7 1.7-1.7v-13.2c0-1-.7-1.7-1.7-1.7zm-24.5 6.1c.3.3.8.5 1.2.5.4 0 .9-.2 1.2-.5l10-11.6c.7-.7.7-1.7 0-2.4s-1.7-.7-2.4 0l-7.1 8.3v-25.3c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v25.3l-7.1-8.3c-.7-.7-1.7-.7-2.4 0s-.7 1.7 0 2.4l10 11.6z"/></svg>
    			<input type="file" name="photo" id="file" class="box__file" data-multiple-caption="{count} files selected" multiple />
    			<label for="file"><strong>Sciegli un immagine</strong><span class="box__dragndrop"> o trascinala qui</span>.</label>
    			<button type="submit" class="box__button">Upload</button>
    		</div>
    		
    		
    
    		
    		<div class="box__uploading">Uploading&hellip;</div>
    		<div class="box__success">Done! <a href="<?php echo $_SERVER['PHP_SELF']; ?>" class="box__restart" role="button">Upload more?</a></div>
    		<div class="box__error">Error! <span></span>. <a href="<?php echo $_SERVER['PHP_SELF']; ?>" class="box__restart" role="button">Try again!</a></div>
    	</form>
    
    <script type='text/javascript'>//<![CDATA[
    document.getElementById("file").onchange = function() {
        document.getElementById("form").submit();
    }
    Il problema è che non mi uploada l'immagine.
    Ultima modifica di tuttitrucchiInvitaAmici : 17-06-2017 alle ore 12.12.18

  12. #12
    Guest

    Predefinito

    OKAY RISOLTO!
    GRAZIE DI TUTTO mzanella!

  13. #13
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ottimo !

Regole di scrittura

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