Visualizzazione dei risultati da 1 a 8 su 8

Discussione: javascript in php

  1. #1

    javascript in php

    codice:
    <?php  
    if ($cognome!=""){
    $sql = mysql_query("SELECT cognome FROM clienti WHERE cognome = '$cognome'"); 
    if(mysql_num_rows($sql) > 0) 
    { header('Location:cliente_presente.php');}
    elseif (($dd + $letto)>$row_Recordset3['letto'])
    {??????????????????????????????????????}
    else {$myquery = "INSERT INTO clienti (cognome) VALUES ('$cognome') "; 
    $qe = mysql_query($myquery) or die(mysql_error());
    $myqueryGoTo = "inserisciprenotazione2.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $myqueryGoTo .= (strpos($myqueryGoTo, '?')) ? "&" : "?";
    $myqueryGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $myqueryGoTo));
    }
    }
    ?>
    Quando fa l'elseif (($dd + $letto)>$row_Recordset3['letto']) ed e' verificata vorrei che mi comparisse una finestra alert con due pulsanti si o no,ckiccando sul si continua l'inserimento altrimenti se no non va avanti.
    Come posso fare?Al posto dei punti interrogativi dovrei metterci un po' di javascript o altro ?
    Cosa suggerite?

  2. #2

    Re: javascript in php

    Originariamente inviato da cinghialotto35
    codice:
    <?php  
    if ($cognome!=""){
    $sql = mysql_query("SELECT cognome FROM clienti WHERE cognome = '$cognome'"); 
    if(mysql_num_rows($sql) > 0) 
    { header('Location:cliente_presente.php');}
    elseif (($dd + $letto)>$row_Recordset3['letto'])
    {??????????????????????????????????????}
    else {$myquery = "INSERT INTO clienti (cognome) VALUES ('$cognome') "; 
    $qe = mysql_query($myquery) or die(mysql_error());
    $myqueryGoTo = "inserisciprenotazione2.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $myqueryGoTo .= (strpos($myqueryGoTo, '?')) ? "&" : "?";
    $myqueryGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $myqueryGoTo));
    }
    }
    ?>
    Quando fa l'elseif (($dd + $letto)>$row_Recordset3['letto']) ed e' verificata vorrei che mi comparisse una finestra alert con due pulsanti si o no,ckiccando sul si continua l'inserimento altrimenti se no non va avanti.
    Come posso fare?Al posto dei punti interrogativi dovrei metterci un po' di javascript o altro ?
    Cosa suggerite?
    supponendo che il tuto stia nella pagina ELABORA.PHP, al posto dei punti interrogativi puoi scrivere così:

    Codice PHP:
    { echo "<script type=\"text/javascript\">if (confirm('vuoi continuare?')) location.href='elabora.php'; else alert('inserimento finito')</script>"; } 

  3. #3
    codice:
    <?php  
    if ($cognome!=""){
    $sql = mysql_query("SELECT cognome FROM clienti WHERE cognome = '$cognome'"); 
    if(mysql_num_rows($sql) > 0) 
    { header('Location:cliente_presente.php');}
    elseif (($dd + $letto)>$row_Recordset3['letto'])
    
    { echo "<script type=\"text/javascript\">if (confirm('vuoi continuare?')) location.href='elabora.php'; else alert('inserimento finito')</script>"; }
    
    else {$myquery = "INSERT INTO clienti (cognome) VALUES ('$cognome') "; 
    $qe = mysql_query($myquery) or die(mysql_error());
    $myqueryGoTo = "inserisciprenotazione2.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $myqueryGoTo .= (strpos($myqueryGoTo, '?')) ? "&" : "?";
    $myqueryGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $myqueryGoTo));
    }
    }?>
    Supponiamo come hai detto tu che il tutto sta in una pagina elabora.php
    Si se la condizione e' verificata compare la finestra di alert ma se scelgo di andare avanti non continua con l'inserimento ma mi ricarica la stessa pagina (logicamente xche' come location.href ha elabora.php).

  4. #4
    infatti ho fatto un piccolo errore..la condizione doveva essere così

    Codice PHP:
    if (!confirm('vuoi continuare?')) location.href='elabora.php'; else alert('inserimento finito'
    con il punto esclamativo prima di confirm, per cui se non voglio continuare la pagina viene ricaricata, altrimenti si continua!

  5. #5
    Diciamo un po' meglio

    codice:
    <?php  
    if ($cognome!=""){
    $sql = mysql_query("SELECT cognome FROM clienti WHERE cognome = '$cognome'"); 
    if(mysql_num_rows($sql) > 0) 
    { header('Location:cliente_presente.php');}
    elseif (($dd + $letto)>$row_Recordset3['letto'])
    
    { echo "<script type=\"text/javascript\">if (!confirm('vuoi continuare?')) location.href='elabora.php'; else alert('inserimento finito')</script>"; }
    
    else {$myquery = "INSERT INTO clienti (cognome) VALUES ('$cognome') "; 
    $qe = mysql_query($myquery) or die(mysql_error());
    $myqueryGoTo = "inserisciprenotazione2.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $myqueryGoTo .= (strpos($myqueryGoTo, '?')) ? "&" : "?";
    $myqueryGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $myqueryGoTo));   // qui da l'errore
    }
    }?>
    Se la condizione e' verificata e io gli dico di continuare lo stesso va bene esegue la query $qe e dopo di che passa alla pagina successiva.
    Ma se clikko su annulla mi ritorna alla pagina 'elabora.php' (come deve essere) ma mi da un'errore :

    Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ombrellone\inserisciprenotazione1.php: 54) in C:\wamp\www\ombrellone\inserisciprenotazione1.php on line 71

    dove alla riga 71 c'e' header(sprintf("Location: %s", $myqueryGoTo));
    perche' header deve stare all'inizio
    come posso ovviare?

  6. #6
    di solito quell'errore si verifica perchè quando usi javascript hai inviato le informazioni dopo quelle di header, tanto per capirci il doctype html che usi. quindi devi usare lo script PRIMA del tag <HTML> e ancor meglio prima del doctype se lo usi. A quel punto quindi non invia un bel nulla!

  7. #7
    codice:
    di solito quell'errore si verifica perchè quando usi javascript hai inviato le informazioni dopo quelle di header, tanto per capirci il doctype html che usi. quindi devi usare lo script PRIMA del tag <HTML> e ancor meglio prima del doctype se lo usi. A quel punto quindi non invia un bel nulla!
    Ma il tutto e' prima di !DOCTYPE
    Allinizio della pagina ho fatto le connessioni con il database e poi ho aggiunto:

    codice:
    <?php  
    if ($cognome!=""){
    $sql = mysql_query("SELECT cognome FROM clienti WHERE cognome = '$cognome'"); 
    if(mysql_num_rows($sql) > 0) 
    { header('Location:cliente_presente.php');}
    elseif (($dd + $letto)>$row_Recordset3['letto'])
    
    { echo "<script type=\"text/javascript\">if (!confirm('vuoi continuare?')) location.href='elabora.php'; else alert('inserimento finito')</script>"; }
    
    else {$myquery = "INSERT INTO clienti (cognome) VALUES ('$cognome') "; 
    $qe = mysql_query($myquery) or die(mysql_error());
    $myqueryGoTo = "inserisciprenotazione2.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $myqueryGoTo .= (strpos($myqueryGoTo, '?')) ? "&" : "?";
    $myqueryGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $myqueryGoTo));   // qui da l'errore
    }
    }?>

  8. #8
    allora sposta tutta quella parte subito dopo BODY, perchè hai inserito uno script javascript ce impedisce di mandare le intestazioni del doctype!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.