Joomla.it Forum

Joomla! 3 => Joomla! 3 => : andrea cerra 31 Mar 2021, 22:45:58

: chiamata javascript a file php che non funziona in sourcerer
: andrea cerra 31 Mar 2021, 22:45:58
Ciao a tutti, sono nuovo nel forum e spero di postare nella sezione giusta. Ringrazio in anticipo chi potrà aiutarmi.

Con il componenete sourcerer ho creato con php custom l'avviso dell'immagine allegata, ora con il pulsante disattiva devo fare update sul DB mysqle cambiare campo da 0 a 1 (0 indica non letto, 1 indica letto).
Ora inserendo una funzione javascript che richiama il mio file .php con la funzione di update, che messo nella root del sito,non fa l'update-non accade nulla.
Testato tutto il codice fuori da joomla e funziona perfettamente, in joomla è come se non riuscisse a trovare il file 'alert_lettoAC.php', sbaglio dove inserisco il javascript? o devo indicare in modo diverso il percorso al file?

Questo il codice php inserito con plugin sourcerer in modulo joomla custom

:
{source}

<?php

$myDb 
FabrikWorker::getDbo(1);

$query_alerts_manomesso "SELECT ntx_code FROM xtr_alerts WHERE type_received= 3 and status_alert = 0 ; " ;
$db->setQuery($query_alerts_manomesso);
$db->query();

$rows_manomesso $db->loadObjectList();

$list = array();
foreach (
$rows_manomesso as $row)
{
//echo '<div class="container-fluid rounded p-3 my-3 bg-danger text-white">

echo '<div class="mx-alerts">';
echo 
'<div><i class="fa fa-exclamation"> L\'ntx <a href="#">' $row->ntx_code."[/url] &egrave; stato manomesso! ".'<input type="button" name="B3" value="DISATTIVA" OnClick="javascript:messaggio()">   </div>';
echo 
'</div>';

?>



<script language="javascript">
function messaggio() {

$.get("alert_lettoAC.php");
}
</script>





<?php

}

{/
source}[code]
e questo il codice della funzione nel file  alert_lettoAC.php
[code]
<?
php


include 'config_AC.php';

$mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_DEFAULT);

if (
$mysqli -> connect_errno) {
  echo 
"Failed to connect to MySQL: " $mysqli -> connect_error;
  exit();
}


        
$query_update_status_alerts " UPDATE xtr_alerts SET status_alert = 1 WHERE id = 5;" ;  
@
$mysqli->query($query_update_status_alerts);
            

?>
: Re:chiamata javascript a file php che non funziona in sourcerer
: giusebos 31 Mar 2021, 22:58:31
Quel codice per lavorare con joomla lo devi scrivere secondo l'MVC di joomla usando il framework e le sue API.
: Re:chiamata javascript a file php che non funziona in sourcerer
: andrea cerra 31 Mar 2021, 23:20:13
Grazie, secondo te esiste un modo alternativo per farlo, magari qualche estensione particolare?
E un altra precisazione, ti riferisci al codice completo anche di visualizzazione alert oppure solo al javacript e alla relativa pagina php con la funzione?
: Re:chiamata javascript a file php che non funziona in sourcerer
: giusebos 31 Mar 2021, 23:41:22
probabilmente fabrik...
: Re:chiamata javascript a file php che non funziona in sourcerer
: tomtomeight 01 Apr 2021, 08:01:59
Potrebbe anche funzionare in joomla adattando il percorso al file che richiami all'interno del codice. Per farti capire se stai al piano terra (root) e il file sta al quarto piano il percorso sarà 4 piani sopra, ma se stai al primo piano ( contenitore codice) il percorso cambia e sarà 2 piani sopra.Comunque questo modo di aggiungere codice è da evitare per tanti motivi, rottura di equilibri e ottimizzazione, e tanti altri non ultimo ma il più importante è la possibilità di ingenerare falle nella sicurezza. Segui il consiglio di  scrivere un modulo, un estensione, un plugin in conformità al modo di come funziona joomla. Roba esterna induce falle.

: Re:chiamata javascript a file php che non funziona in sourcerer
: andrea cerra 02 Apr 2021, 09:35:17
Grazie mille per la delucidazione, ora studierò per mia conoscenza coem creare un componente ad hoc anche se ho già risolto in altro modo (con una vista Fabrik) il mio problema. Detto questo allora non capisco la potenzialità del componenente Sourcerer per
inserire codice php custom

 Detto questo per curiosità vorrei comunque provare a far funzionare la cosa adattando il perorso del mio file. Il file .php è nella root , non capisco come indicare il percorso nel contenitore codice o come individuare il piano in cui si trova la mia pagina, potresti farmi un esempio di come raggiunger un file a seconda della root in joomla?
Grazie per chi vorrà aiutarmi


: Re:chiamata javascript a file php che non funziona in sourcerer
: tomtomeight 02 Apr 2021, 12:25:34
Prova con un percorso assoluto, cioè inizia con https:// ecc. ecc