[PHP] Finestra poupup dentro IF

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao a tutti, dovrei inserire una finestra poupup all'interno di un ciclo IF.
Se la condizione è vera deve comparire una finestra con una domanda e risposta SI/NO. A seconda di cosa viene scelto, viene eseguito un comando PHP.
È possibile realizzarlo?
Grazie a tutti in anticipo
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao e grazie per la cortese risposta.

Ho provato il codice ma non fà nulla.Poi ho provato a vedere il link ma negli esempi c'è un pulsante da premere poi a seguito della pressione compare quello che serve a me e cioè la finestra con "OK" e "ANNULLA" , invece a me servirebbe che la finestra poupup parta al verificarsi di una condizione vera dell ' IF .

Esempio
IF (condizione)
{
finestra poupup con scelta "OK" e "ANNULLA"
se OK fai questo
se ANNULLA fai quest'altro
}
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
è in JS no php...! ovvio che devi scrivere l'action!
Da php
PHP:
if($my_cond){
  echo '<script> alert("Alert");</script>';
}else{
echo '<script> alert("OK");</script>';
}
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Nel primo post avevo specificato che è PHP
Quindi non si può fare ?

Grazie
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Grazie per la cortese risposta.
Purtroppo non capisco, chiaramente colpa mia.
Se metto codice JS posso fare partire la finestra poupup con scelta "OK" "ANNULLA" solo al verificarsi di una condizione ?
Specifico qualcos'altro.
La condizione sarebbe il contenuto di una variabile $_GET.

Scusami ma avrai capito che il mio livello è basso :(
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
è in JS no php...! ovvio che devi scrivere l'action!
Da php
PHP:
if($my_cond){
  echo '<script> alert("Alert");</script>';
}else{
echo '<script> alert("OK");</script>';
}
Questo codice però non fà quello che serve a me
Compare la scritta "Alert" oppure "OK" a seconda della condizione IF
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
vedi questo codice,
PHP:
<?php
    ob_start();
?>
<script type="text/javascript">
  if (confirm("fai la tua scelta")) { txt = "hai scelto OK"; }
  else { txt = "hai scelto ANNULLA"; }
  document.write(txt);
</script>
<?php
    $txt = ob_get_clean();
    print_r($txt);
?>

upload_2019-11-1_17-57-1.png


upload_2019-11-1_17-57-34.png


oppure

upload_2019-11-1_17-58-21.png


ti può andare bene ?
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao stò provando però il risultato di $txt non è passabile tramite ciclo IF.

Codice:
if ($txt == "hai scelto OK")
            {
                fai questo
            }
        else
        {
            fai quest'altro
        }
non esegue ne il THEN ne l'ELSE
 
Ultima modifica:

solari77

Utente Attivo
6 Ott 2016
119
1
18
È possibile risolvere in qualche modo ?

Tramite l'istruzione

$txt = ob_get_clean();

$txt non dovrebbe prendere il valore true o false ?
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
il problema é un poco più complicato perché
php sta sul server,
genera la pagina
la invia al client
ed il client non sa proprio più cosa sia php

penso comunque che, sia possibile fare quello che chiedi, strutturando lo script in "step",
tipo prima e dopo la conferma e nel mezzo ricaricando la pagina
questo obbliga a salvare i risultati intermedi in $_SESSION, nel caso ci siano

vedi se così può andare bene,
PHP:
<?php
function conferma($step=""){
?>
<script type="text/javascript">
    if (confirm("fai la tua scelta")) { var risposta = "hai scelto OK"; }
    else                              { var risposta = "hai scelto ANNULLA"; }

    var testo  = "risposta="+risposta+"; expires=Thu, 18 Dec 2019 12:00:00 UTC;";

    // alert(testo);

    document.cookie = testo;

    location.reload();
</script>
<?php
}

if(!isset($_COOKIE['risposta'])) {

// qui si fanno le azioni che precedono la conferma

    conferma();

} else {
    // foreach($_COOKIE as $v) { echo htmlentities($v, 3, 'UTF-8').'<br />'; }

    $risposta = htmlentities($_COOKIE['risposta']);
    echo $risposta.'<br />';

    setcookie("risposta", null);    // aggiunto

    if ($risposta == "hai scelto OK")
    {
        echo "fai questo";
    }
    else
    {
        echo "fai quest'altro";
    }
}
?>

upload_2019-11-4_1-32-57.png


upload_2019-11-4_1-33-45.png


ps, ho lasciato delle righe di "debug" per comodità

ps, la scelta viene passata con cookies
 
Ultima modifica:
  • Like
Reactions: solari77

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
pur non conoscendo la tua applicazione,
visto che comunque devi ricaricare la "pagina" ( location.reload(); )
permettimi la seguente considerazione,

può essere conveniente,
creare uno script php che esegue i "calcoli iniziali"
ed al termine presenta un form con i "bottoni" necessari,
form che attiva un secondo script,
che in funzione del bottone, completa i "calcoli" eseguendo "questo" o "quest'altro"

il processo é lo stesso, ma rimanendo nel solco della tradizione ….
 

solari77

Utente Attivo
6 Ott 2016
119
1
18
Ciao la soluzione proposta sembra funzionare. ora farò altri test per avere la certezza che è tutto ok.
Ho dovuto inserire il comando
setcookie("risposta", null);
altrimenti funzionava solo al primo accesso ed ero costretto a cancellare i cookie manualmente.
Una curiosità.
Nello script c'è la seguente riga
var testo = "risposta="+risposta+"; expires=Thu, 18 Dec 2019 12:00:00 UTC;";

perchè questa data ?
 
Discussioni simili
Autore Titolo Forum Risposte Data
AMONRA75 [PHP] passare una variabile in una finestra MODAL PHP 1
T [PHP] passare una variabile in una finestra MODAL di bootstrap PHP 3
CoyotesSon [PHP] Help! Creazione di una finestra PHP 5
F Aprire una pagina php o html in una nuova finestra da una pagina php PHP 2
S finestra browser php per form-mail PHP 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7

Discussioni simili