Ciao a tutti,
anche io devo fare una cosa del genere, non in php ma in ASP, ma non credo sia fondamentale questo particolare. In dettaglio attraverso un link che apre la finestra popup devo cancellare un file e aggiornare la relativa tabella.
Ho cercato di seguire le indicazioni di questo post ma senza esito positivo
Ecco come ho utilizzato il codice:
nella Pagina madre ho inserito un semplice javascript per aprire la finestra popup:
[php]
<script type="text/javascript">
<!--
var stile = "top=10, left=10, width=250, height=200, status=no, menubar=no, toolbar=no scrollbar=no";
function Popup(apri) {
window.open(apri, "", stile);
}
//-->
</script>
[/php]sempre nella pagina madre ho quindi il link per aprire la finestra popup dove passo il percorso del file da cancellare e l'id del record da aggiornare, in questo modo:
[php]
<a href="javascript:Popup('cancella_immagine.asp?path=<%=fpath%>&id=<%=valueID%>')"><img src="img/icons/delete.png" alt="elimina" width="16" height="16" title="elimina"/></a> Elimina
[/php]poi nella finestra popup l'ho così strutturata, avrei necessità di chiedere una conferma prima di cancellare il tutto, ho fatto in questo modo:
[php]
<%
'recupero il nome del file da cancellare e id
strFile = Trim(Request.QueryString("path"))
newsID = Trim(Request.QueryString("id"))
%>
<body onUnload="javascript:window.opener.location.reload (); window.close();">
<table class="listing fluid" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th width="100%" height="30" class="formLabel">Eliminazione File</th>
</tr>
<%
if op = "" then
%>
<tr class="row1">
<td height="40" align="center">Confermare eliminazione file immagine: <a href="cancella_immagine.asp?path=<%=strFile%>&id=<%=newsID%>&op=ed">sì</a> no</td>
</tr>
<%
else
'cancello l'immagine
strFilePath = strFile
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
if objFso.FileExists(strFilePath) then
objFSO.DeleteFile(strFilePath)'cancello
end if
Set objFso = Nothing
'aggiorno la tabella
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL= "UPDATE " &strDbTable& "news SET n_img = "" WHERE id_news = " & newsID & ";"
objRS.Open strSQL, DFCon, 3, 3
Set objRS = Nothing
%>
<tr class="row1">
<td height="40" align="center">Eliminazione avvenuta con successo.</td>
</tr>
<%
end if
%>
</tbody>
</table>
</body>
[/php]solo che in questo modo quando clicco su 'SI' per dare l'ultima conferma la popup si chiude e la pagina madre si aggiorna, correttamente, ma senza aver eseguito il codice di eliminazione
Dove sbaglio?
Vi ringrazio per l'aiuto
Elisa