-
Problema PHP/JS
Salve, sono sempre qui con questo script cruciale: NON VA PIU'!!!!!!!!
Codice HTML:
function img(){
$('#myfile').click();
$('#myfile').change(function(){
$('#myfile').trigger("submit");
});
$('#inviafile').submit(function(e){
e.preventDefault();
var datiform = new FormData($(this)[0]);
$.ajax({
url: '../../admin/PHP_Files/save.php',
type: 'POST', //Le info testuali saranno passate in POST
data: datiform, //I dati, forniti sotto forma di oggetto FormData
timeout: 30000,
async: true,
cache: false,
processData: false, //Serve per NON far convertire l’oggetto
//FormData in una stringa, preservando il file
contentType: false, //Serve per NON far inserire automaticamente
//un content type errato
success: function(data){
$('#img_send').removeClass('img_send');
$('#val_sfondo').html(data);
var img = jQuery('#val_sfondo').children('img').attr( 'src');
$('#div_img_pos').show();
$('#div_img_pos').html("<img src='" + img + "' id='sfondo_rec_added' />");
},error: function(){
alert("Errore");
}
});
});
}
Questa è la funzione richiamata dal form
Codice HTML:
<div id="div_upload_immagine"> <!-- INSERIMENTO IMMAGINE -->
<form action="#" method="post" enctype="multipart/form-data" id="inviafile">
<input type="file" name="myfile" id="myfile" class="caricaimg"><br>
<div id="img_send" onclick="img()" class="img_send"/><!-- Quando caricata <img src /> --></div>
</form>
<div id="val_sfondo" style="display: none;"></div>
<div id="div_img_delete"><img src="../Include/img/canc_img.png" id="img_delet"/></div>
<div id="div_img_pos" class="pos"></div> <!-- FINE INSERIMENTO IMMAGINE -->
</div>
Mentre questo è lo script PHP della pagina save.php
Codice PHP:
<?php
error_reporting(0);
session_start();
include '../../conn.php';
connect();
?>
<?php
$uploaddir = '../../Include/games_icon';
$uploadfile = $uploaddir . basename($_FILES['myfile']['name']);
if (move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile)) {
echo "<img src='../Include/games_icon/". $_FILES['myfile']['name'] . "' />";
} else {
echo "Non e' stato caricato alcun file!\n";
}
?>
Fino a ieri andava, ora neanche a pagarlo.
Dove posso aver sbagliato???
E, come mai con Codelobster PHP il tag del form mi diventa rosso?
HEEEEEEEEEEEEEEEEEEEEEEEEEEELP pls
-
Indica l'indirizzo della pagina in questione, altrimenti è più difficile e lungo individuare ed indicarti il problema.
-
http://theworldofgaming.altervista.o...recensione.php
Questo è l'indirizzo del sito
Solamente che quando la uppo sul sito mi da soltanto il simbolo di immagine non caricata(come potete vedere) mentre su localhost, quando eseguo la chiamata ajax, mi va direttamente all'alert di errore
-
Ciao :)
Può essere che sia un problema di percorsi? Ti spiego, save.php si trova in (partendo dalla root del tuo sito):
Invece la cartella in cui tu salvi i file è:
Codice:
/Include/games_icon
Quindi, quando in save.php richiami l'immagine con l'indirizzo
Codice:
../Include/games_icon/{Nome immagine}
il browser va a cercare l'immagine in
Codice:
/admin/Include/games_icon
che è un percorso inesistente.
In sostanza, cambiando la riga
Codice PHP:
echo "<img src='../Include/games_icon/". $_FILES['myfile']['name'] . "' />";
in
Codice PHP:
echo "<img src='../../Include/games_icon/". $_FILES['myfile']['name'] . "' />";
(aggiungendo cioé un altro ../ per salire di directory) dovresti risolvere il problema.
Ah, inoltre penso che sia necessario aggiungere uno slash alla fine di $uploaddir:
Codice PHP:
$uploaddir = '../../Include/games_icon/';
Altrimenti ti va a salavare i file in /Include e con nome games_icon{Nome immagine} (tutto attaccato).
Ed infine devi anche cambiare l'URL della pagina nella porzione di JavaScript: considerando che ins_recensione.php si trova già nella cartella /admin, basta scrivere
Codice:
url: 'PHP_Files/save.php',
Spero sia d'aiuto :roll:
-
Aaaaa, pensandoci bene può darsi che abbia sbagliato a scrivere nella chiamata ajax.
Grazie funziona alla perfezione!!! :lol: