• User

    Ciao ragazzi, proprio nessuno che può cortesemente darmi una mano?
    Grazie mille e buona serata.


  • Consiglio Direttivo

    Ciao luseresi,
    immagino tu debba strutturare il tuo script per fare in modo che al disabled=true delle select associ la disabilitazione anche del controllo campo. Oppure potresti valorizzare in automatico il campo con un valore che nella tua successiva query considererai come NULL. 😉


  • User

    Ciao Samyorn,
    mi scuso per aver duplicato in piu aree la mia richiesta...
    Mi parlavi di due ipotesi, sono valide entrambe, avresti la possibilità di farmi un esempio o indicarmi dove posso trovare le istruzioni o degli esempi o per fare in modo che al disabled=true delle select associ la disabilitazione anche del controllo campo, oppure per valorizzare in automatico il campo con un valore che nella tua successiva query considererai come NULL, come tu mi hai gentilmente consigliato.
    grazie mille e buona serata


  • Consiglio Direttivo

    @luseresi said:

    mi scuso per aver duplicato in piu aree la mia richiesta...
    😉

    Nel primo caso potresti aggiungere come condizione del controllo:

    if(voto_qualita_cam.value=="")
    ```Che il campo tipo struttura sia diverso da 3:
    

    if(voto_qualita_cam.value=="" && tipo_struttura.value != 3)

    Puoi regolare di conseguenza anche le altre condizioni. ;)
    
    Nell'altro caso potresti impostare a NOSET il valore dei campi e nel rimaneggio con PHP considererai nullo questo valore.
    
    Ovviamente la soluzione ideale è la prima secondo il mio punto di vista. ;)
    
    
    
    @luseresi said:
    > grazie mille e buona serata
    Anche a te. :ciauz:

  • User

    Grazie Samyorn,
    ora funziona, ho optato per la prima soluzione, perfetto e ti ringrazio tantissimo.
    Rimane un dubbio, non appare più il controllo javascript sul campo(e questo va bene) ma continua ad apparirmi la notice Notice: Undefined index sul campo vuoto quando faccio submit....mi sto perdendo in un bicchier d'acqua?
    grazie mille


  • Consiglio Direttivo

    Non sono ferrato in Js ma credo che in questo caso il problema sia che non vengono proprio valorizzati i campi, neanche come campi vuoti. O provi ad inizializzarli dichiarandoli .value="" o gli assegni il valore di "" tramite else:

    ......
    else
    {
    voto_qualita_cam.value=="";
    }
    ```Ripeto, non sono ferrato con il Js, solitamente lo approccio per logica o rapportandolo ad altri linguaggi ;)
    Facci saperi se risolvi :ciauz:

  • User

    Ciao Samyorn,
    ho fatto delle prove ma il notice appare comunque...probabilmente devo risolvere la cosa in php nelle istruzioni che scrivono i dati nel database. La cosa strana è che io standard nella form assegno value "" al campo, probabilmente disabilitandolo comunque non lo vede proprio inizializzato comunque, pur avendogli associato come value standard il ""....non so come venirne fuori...nel forum php sfortunatamente non mi rispondono, mi sa che è perche' c'e' una parte di js...


  • Consiglio Direttivo

    Potresti provare così:

    [php]if ($_POST['voto_qualita'] != "")
    {
    $voto_qualita_cam=$_POST['voto_qualita_cam'];
    }
    else
    {
    $voto_qualita_cam="";
    }
    ......
    $inserimento=mysql_query("insert into recensioni (nome_utente, voto_qualita_cam, voto_ristorante, data_ora_ins) values ('".$_POST['nome_utente']."', '$voto_qualita_cam', '$voto_ristorante', now())");
    [/php]
    🙂


  • User

    Niente Samyorn...purtroppo appare sempre Notice: Undefined index: voto_qualita_cam...

    Ho scritto cosi...

    <?php
    $connessione=mysql_connect("localhost", "root", "");
    $selezione_db=mysql_select_db("laterra_db", $connessione);
    ?>
    <HTML>
    <HEAD>
    <TITLE>La Terra delle Opinioni</TITLE>
    <script language="JavaScript">
    function disab(tipo_struttura){
    if(tipo_struttura=="3"){
    document.moduloGuest.voto_qualita_cam.disabled=true;
    document.moduloGuest.voto_ristorante.disabled=true;
    }
    else if(tipo_struttura=="4"){
    document.moduloGuest.voto_qualita_cam.disabled=false;
    document.moduloGuest.voto_ristorante.disabled=true;
    }
    else if(tipo_struttura=="6"){
    document.moduloGuest.voto_ristorante.disabled=true;
    }
    else{
    document.moduloGuest.voto_qualita_cam.disabled=false;
    document.moduloGuest.voto_ristorante.disabled=false;
    }
    }
    </script>
    <script language="JavaScript">
    function controllo(){
    with(document.moduloGuest) {
    if(nome_utente.value=="") {
    alert("Inserisci cortesemente il tuo nome.");
    nome_utente.focus();
    return false;
    }
    if(tipo_struttura.value=="") {
    alert("Inserisci cortesemente la tipologia di struttura per poter registrare la recensione.");
    tipo_struttura.focus();
    return false;
    }
    if(voto_qualita_cam.value=="") {
    alert("Inserisci cortesemente il voto che intendi dare alla qualità delle camere per poter registrare la recensione.");
    voto_qualita_cam.focus();
    return false;
    }
    if(voto_ristorante.value=="") {
    alert("Inserisci cortesemente il voto che intendi dare al ristorante per poter registrare la recensione.");
    voto_ristorante.focus();
    return false;
    }
    }
    return true;
    }
    </script>
    </HEAD>
    <BODY>
    <?php
    function nrecensione(){
    ?>
    <form name="moduloGuest" id="moduloGuest" onSubmit="return controllo();" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="azione" value="elabora" />
    <table>
    <tr>
    <td><strong> Indica cortesemente il tuo nome </strong></td>
    <td><input type="text" name="nome_utente" id="nome_utente" size="30" maxlength="40" value=""></td>
    </tr>
    <tr>
    <td><strong> seleziona </strong></td><td><select name="tipo_struttura" id="tipo_struttura" onChange="disab(this.options[this.selectedIndex].value)" style="font-size: 11px;">
    <option value=""> </option>
    <option value="1"> 1 </option>
    <option value="2"> 2 </option>
    <option value="3"> 3 </option>
    <option value="4"> 4 </option>
    <option value="5"> 5 </option>
    <option value="6"> 6 </option>
    <option value="7"> 7 </option>
    </select></td>
    </tr>
    <tr>
    <td valign="top"><strong>Dai un voto globale a: </strong></td>
    <td>
    <p><strong>? camere </strong>
    <select name="voto_qualita_cam" id="voto_qualita_cam" style="font-size: 11px;">
    <option value=""> </option>
    <option value="A"> A </option>
    <option value="B"> B </option>
    <option value="C"> C </option>
    <option value="D"> D </option>
    <option value="E"> E </option>
    </select>
    <p><strong>? ristorante</strong>
    <select name="voto_ristorante" id="voto_ristorante" style="font-size: 11px;">
    <option value=""> </option>
    <option value="A"> A </option>
    <option value="B"> B </option>
    <option value="C"> C </option>
    <option value="D"> D </option>
    <option value="E"> E </option>
    </select>
    <p></td>
    </tr>
    <tr>
    <td align="center" colspan="2"><input type="submit" value="Invia il messaggio!"></td>
    </tr>
    </table>
    </form>
    <?php
    }
    function elabora_guest(){
    if ($_POST['voto_qualita_cam'] != ""){
    $voto_qualita_cam=$_POST['voto_qualita_cam'];
    }
    else{
    $voto_qualita_cam="";
    }
    if($_POST){
    $inserimento=mysql_query("insert into recensioni (nome_utente, voto_qualita_cam, voto_ristorante, data_ora_ins) values ('".$_POST['nome_utente']."', '$voto_qualita_cam', '$voto_ristorante', now())");
    echo "Messaggio inviato con successo";}
    else{
    die("Inserisci i dati necessari alla registrazione della recensione.");
    }
    }
    ?>
    <?php
    function read_guest(){
    $lettura_risultati=mysql_query("select nome_utente, voto_qualita_cam, voto_ristorante, date_format(data_ora_ins, '%d/%m/%Y - ore %H:%i:%s') as data_formattata from recensioni order by anno_sogg");
    if(mysql_num_rows($lettura_risultati)>0){
    echo "<table>";
    $flag_colore=0;
    while($scatola_temporanea=mysql_fetch_array($lettura_risultati)){
    $nome_utente=$scatola_temporanea['nome_utente'];
    $voto_qualita_cam=$scatola_temporanea['voto_qualita_cam'];
    $voto_ristorante=$scatola_temporanea['voto_ristorante'];
    $data_ora_ins=$scatola_temporanea['data_formattata'];
    echo "<tr>";
    if($flag_colore==0){
    echo "<td bgcolor="#FFFF00">";
    $flag_colore=1;
    }
    else{
    echo "<td bgcolor="#C0C0C0">";
    $flag_colore=0;
    }
    echo "<strong>Utente:</strong> $nome_utente<br><br><strong>Voto qualit&agrave delle camere:</strong> $voto_qualita_cam<br><br><strong>Voto sul ristorante:</strong> $voto_ristorante<br><br>";
    echo "</tr>";
    }
    echo "</table>";
    }
    else{
    echo "Non é stata inserita ancora nessuna recensione in questa sezione. Se hai piacere essere il primo, clicca nella scelta <a href="nrecensione.html">Nuova Recensione</a>";
    }
    }
    switch($_REQUEST['azione'])
    {
    case "inserisci":
    nrecensione();
    break;
    case "elabora":
    elabora_guest();
    break;
    case "leggi":
    read_guest();
    break;
    }
    ?>
    </body>
    </html>


  • User

    Buongiorno a tutti,
    rinnovo il post che ho scritto tempo fa,c'e' qualcuno che può aiutarmi?
    Grazie mille e auguri a tutti.