Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Css Variabile

  1. #1

    Css Variabile

    Premetto di sapere che ciò che faccio è scorretto, sono su php da un giorno e ovviamente non si può riuscire a capire tutto al volo.
    Il mio obbiettivo è quello di rendere lo stile della pagina variabile, in modo che , se la registrazione ha avuto effetto mi rimanda alla pagina index.html dove ho il login(con il suo stile), se invece l'email è già stata realizzata, torna sulla pagina di registrazione (reg.html, indicando l'errore, con lo stile ovviamente della pagina).
    Ho tutti fogli di stile esterni.
    Bene, premetto di aver capito che in realtà, addUser.php non mi ridireziona da nessuna parte, bensì scrive codice html...
    Quindi ho fatto in questo modo, che, immagino sia sbagliato, perchè il foglio di stile viene caricato immediatamente VUOTO al caricamento della pagina php

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://w3.org/1999/xhtml">
    <head>
    
      <title>Conferma Registrazione.</title>
      
      <?php
      $styleLog = "css/styleLogin.css";
      $styleReg = "css/styleReg.css";
      $style;
      print("<link rel = 'stylesheet' type = 'text/css' href = '$style' />");
      ?>
    
    <script type="text/javascript">
     <!--
      function errorEmail() {
       alert("L'indirizzo eMail è già presente nei nostri Databases!");
       document.getElementById('email').focus();
       }
       function registOk() {
       alert("Registrazione avvenuta con successo!\nFai il Login per entrare nella tua pagina personale");
       window.location.href = 'index.htm';
       }
     //-->
    </script>
    </head>
    
    
    <body>
    
    <?php
    
    extract( $_POST );
    
    $email = $_REQUEST["email"];
    $pass = $_REQUEST["pass"];
    $nome = $_REQUEST["nome"];
    $surname = $_REQUEST["surname"];
    $telephone = $_REQUEST["telephone"];
    $cell = $_REQUEST["cell"];
    $howtosite = $_REQUEST["howtosite"];
    $emailError = false;
    
    
    // Costruzione delle query
    $query = "INSERT INTO CLIENTI (email,pass) VALUES ('$email','$pass')";
    
    $query2 = "INSERT INTO DettClienti (emailCliente,nome,surname,telephone,cell,howtosite) 
               VALUES ('$email','$nome','$surname','$telephone','$cell','$howtosite')";
    
    $query3 = "SELECT * FROM CLIENTI WHERE email = '$email'";
    
    //Connessione a MySql
    if ( !($database = mysql_connect("localhost","root","") ) )
    die( "Impossibile connettersi a MySql" );
    
    //Connessione al Database
    if ( !($database2 = mysql_select_db("eTakeAway", $database) ) )
    die( "Impossibile connettersi al database" );
    
    //Controllo sulle email già registrate
    if(!($select=mysql_query($query3,$database))){
    die("Query fallita".mysql_error());
    }
    
    if ((mysql_num_rows($select)==0)) // Il recordset è vuoto
    {
    //Esecuzione della query
    if ( !($result = mysql_query($query,$database) ) ) {
    print ( "Impossibile eseguire la query 
    " );
    die( mysql_error() );
    }
    //Esecuzione della query
    if ( !($result = mysql_query($query2,$database) ) ) {
    print ( "Impossibile eseguire la query 
    " );
    die( mysql_error() );
    }
    }else {
           $emailError = true;
             }
    if ($emailError) {
    $style = $styleReg;
    print (
    "<form id = 'register' method = 'post'  action = /addUser.php' onload = 'errorEmail()'>
       <table border = '0' align = 'center'>
         <thead>
          <th rowspan = '1'>
            
    
    <label for = 'email'>Inserisci eMail di registrazione: </label>
            <div class='input-reg' style = 'color: red'><input id = 'email' name = 'email' type='text' value = '$email' />
            </div></p>
            
    
    <label for = 'pass'>Scegli una Password: </label>
            <div class='input-reg'><input id = 'pass' name='pass'  type='password' /> 
            </div></p>
            
    
    <label for = 'nome'>Nome: </label>
            <div class='input-reg'><input id = 'nome' name = 'nome' type='text' value = '$nome' />
            </div> </p>
            
    
    <label for = 'telephone'>Recapito telefonico: </label>
            <div class='input-reg'><input id = 'telephone' name = 'telephone' type='text' value = '$telephone' />
            </div> </p>
           </th>
           <th rowspan = '1'>
            
    
    <label for = 'emailConfirm'>Conferma eMail: </label>
            <div class='input-reg'><input id = 'emailConfirm' name = 'emailConfirm' type='text' value = '$email' />
            </div></p> 
            
    
    <label for = 'passwordConfirm'>Conferma Password: </label>
            <div class='input-reg'><input id = 'passwordConfirm' name='passwordConfirm'  type='password' /> 
            </div> </p>  
            
    
    <label for = 'surname'>Cognome: </label>
            <div class='input-reg'><input id = 'surname' name = 'surname' type='text' value = '$surname' />
            </div></p>
            <label for = 'cell'>Recapito telefonico(cellulare): </label>
            
    
    <div class='input-reg'><input id = 'cell' name = 'cell' type='text' value = '$cell' />
            </div></p>
           </th>
            <div>
           </thead>
          </table>
           <div class='input-radio' value = '$howtosite' >
            
    
    
              
    
     Dove sei venuto a conoscenza del nostro servizio web? </p>
                 <label for = 'howtosite' >In un nosto punto vendita </label>
                 <input id = 'howtosite' name = 'howtosite' value = 'pvendita' type = 'radio'>
                 <label for = 'howtosite'>Pubblicita' </label>
                 <input id = 'howtosite' name = 'howtosite' value = 'publicity' type = 'radio'>  
                 <label for = 'howtosite'>Nel Web </label>
                 <input id = 'howtosite' name = 'howtosite' value = 'web' type = 'radio'>
                 <label for = 'howtosite'>Da un amico </label>
                 <input id = 'howtosite' name = 'howtosite' value = 'friend' type = 'radio'>
                 <label for = 'howtosite'>Altro </label>
                 <input id = 'howtosite' name = 'howtosite' value = 'other' type = 'radio'>  
            </p>
            </div>
            <div><label for = 'condition'> In base alla legge 675/96 sulla tutela dei dati personali autorizzo il trattamento degli stessi per finalita' informative e/o pubblicitarie all'azienda </label>
            <input id = 'condition' name = 'condition' value = 'Accept' type = 'checkbox'/>
            </div>
            <div align = 'center'><button type = 'submit' id = 'submit' value = 'Register' onclick = 'checkForms()'>Registrati</button>
            </div>  
        </form>"
    );
    } else {
    $style = $styleLog;
    print (
    "<table style= 'position:absolute;top:20%' border='0' width = '100%'>
      <thead> <tr>
        <th rowspan='1'> [img]img/logo.gif[/img]
        
    
    
        <h1 style='font-family: Courier New; font-weight: bold; color: rgb(253, 5, 12);'>Benvenuto in eTakeAway!</h1>
        
    
          <p style = 'color:rgb(211,255,182);'>Per effettuare una prenotazione effettua il login.
    
          E' la prima volta che provi il nostro servizio di prenotazione on-line?
    
          Registrati compilando
          l'apposito form! </p></th>
        </p>
        <th rowspan='1'> 
        <form id = 'login' method = 'get' action = 'personal' onload = 'registOk()'>
          <div>
            <label for = 'email'>Indirizzo eMail: </label>
            <div class='input-login'><input id = 'email' name = 'email' type='text' value = '$email' />
            </div>
            <label for = 'password'>Password: </label>
            <div class='input-login'><input id = 'password' name='password'  type='password' /> 
            </div>
            <div><button type = 'submit' id = 'submit' value = 'Effettua il Login' >Effettua il Login</button>
            </div>      
          </div>
        </form>
        </th>
      </tr>
      </thead>
    </table>"
    );
    }
    
    ?>
    
    </body>
    
    </html>
    Bene, c'è un modo per fare ciò che io voglio??

  2. #2
    Aiutatemi, please!!!

  3. #3
    Troppo codice irrilevante e non ho capito bene il problema: perche' non fai semplicemente due pagine ognuna col suo stile?

  4. #4
    viene restituito vuoto perchè tu fai

    $style;

    all'inizio della pagina.
    Tra l'altro non ha senso fare una cosa del genere, ma comunque tu gli fai stampare $style subito, e te lo stampa vuoto giustamente perchè a $style non è assegnato niente.

    Poi alla fine della pagina, in base a ciò che ti serve, assegni a $style = $styleReg o l'altro, però ormai $style all'inizio della pagina è già stato stampato. Stamperà sempre vuoto se fai così.

    Le soluzioni sono 2.
    O fai 2 pagine con 2 stili diversi, oppure al posto di fare $style = $styleReg; fai un reindirizzamento con una variabile GET tipo stile=styleReg e la intercetti all'inizio pagina facendo

    $style = $_GET['stile'];

  5. #5
    Grazie per il consiglio.
    In realtà ho risolto in un altra maniera, ma ovviamente sapere nuove cose non può che farmi bene.

    Ora a avrei un altra domanda riguardante php, però mi sembra eccessivo aprire una nuova discussione apposta, provo a farvela in breve quì.

    Praticamente devo gestire una pagina personale di un sito web, nella quale utenti e commessi, possono interagire diversamente su un database. Bene, credo di riuscire a farlo utilizzando un unica pagina php, ma il tutto risulterebbe decisamente poco leggibile. Poichè sono all'inizio con php, vorrei chiedervi, questo è normale, oppure dovrei far inderagire php con diverse pagine html???

    Edit: Comunque sir_daniel, sapevo che il mio metodo era sbagliato proprio per quel motivo, ma non riuscivo, data la mia poca esperienza, a trovarne una soluzione!

  6. #6
    Mettere tutto in un'unica pagina illeggibile non e' in nessun caso una buona idea.
    In realta' dovresti mescolare PHP e HTML il meno possibile.

  7. #7
    se puoi evitare di mettere tutto su una pagina evitalo.
    Anche perchè se dovessi fare modifiche successive (magari dopo 2 mesi), ti sarà molto più difficile capire come funziona una pagina.

    La programmazione è basata sul principio del K.I.S.S. (Keep It Simple, Stupid - Rendilo semplice, stupido)

    stessa cosa per le funzioni. Una funzione deve fare solo quello per cui è stata pensata. Se fa troppe cose, è meglio dividerla in più funzioni.

  8. #8
    Ok, grazie mille per la spiegazione!!

  9. #9
    Utente di HTML.it L'avatar di lloyd27
    Registrato dal
    Mar 2006
    Messaggi
    256
    A parte le cose già dette,
    Codice PHP:
    extract($_POST
    è probabilmente una delle cose più pericolose che si possa fare. Toglilo immediatamente...

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.