Visualizzazione risultati 1 fino 15 di 15
Like Tree1Likes
  • 1 Post By alemoppo

Discussione: Come sostituire in php colore di sfondo# html di un form con immagine grafica in .jpg

  1. #1
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito Come sostituire in php colore di sfondo# html di un form con immagine grafica in .jpg

    Salve, io ho un file in php chiamato centrale.php che serve per dare le funzioni generali per far funzionare altre pagine php, tra le quali una di queste si chiama login.php, ovvero la pagina dove c'è un form.

    Nel file centrale.php ho un codice di questo tipo:

    Codice PHP:
    <?php
    $COLORE 
    '#99CCFF';
    define('HEADER_MAIL','From: '.(isset($EMAIL)?$EMAIL:(nick().'@altervista.org<')).(isset($EMAIL)?('<'.$EMAIL.'>'):(nick().'>')));
    function 
    colore()
    {
        global 
    $COLORE;
        if(isset(
    $COLORE))
            return 
    $COLORE;
        else
            return 
    '#3399CC'
    }

    ?>
    Ecco io dovrei sostituire il colore di sfondo del form contenuto nella pagina login.php, ovvero devo sostituire la riga $COLORE = '#99CCFF'; con un'immagine grafica in .jpg che faccia da sfondo al form contenuto nel file login.php.

    Qui inserisco il codice contenuto nella pagina login.php:

    Codice PHP:
    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">  
    <table style="cellpadding:5px; background-color:<?php require_once('./centrale.php'); echo colore(); ?>" >
    <tr><td>Username:</td><td><input type="text" name="username"></td></tr>  
    <tr><td>password:</td><td><input type="password" name="password"></td></tr>
    <tr><td colspan="2">Ricordami<input type="checkbox" name="ricordami" value="on" class="check"></td></tr>
    <tr><td colspan="2"><input src="bottone.jpg" type="image" value="Invia" name="submit" id="submit" class="button"></td></tr>
    </table>  
    </form>
    Come si fa?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

    Predefinito

    Hai provato modificando la seconda riga? (pulisci la cache per controllare i cambiamenti).
    Codice:
    $COLORE = '#99CCFF';
    Ciao!

  3. #3
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Si ho provato, ma da neofita del php non credo sia il comando giusto, anche perché dopo (se hai visto) c'è la riga return '#3399CC'; e se la seconda riga non è corretta nel form appare il colore di '#3399CC'. Non so se anche tu sei della stessa opinione.

    Io comunque non devo cambiare il colore html ma devo inserire un'immagine grafica in jpg e dentro all'immagine devo far apparire il modulo form. So come fare ciò in html ma non in php con il tipo di sintassi con cui è fatto lo script che sto usando.

    Non so se devo mantenere il comando $colore e inserire la sorgente dove ho salvato l'immagine in jpg, oppure inserire $src='immagine.jpg';
    oppure inserire $immagine= ecc ecc.

    Quindi volevo sapere che tipo di sintassi devo usare per ottenere il risultato...

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

    Predefinito

    Il return non influenza, quel codice è fatto in modo tale che se specifichi un $colore, il return che hai indicato non viene preso in considerazione.
    (tra l'altro, quel codice mi risulta molto familiare ).

    Comunque quelle modifiche non vanno fatte in PHP (PHP serve per altro), ma in HTML e CSS come dicevi. Se conosci HTML/CSS, ti suggerirei di partire modificando questo codice:
    Codice HTML:
    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">   
    <table style="cellpadding:5px;" > 
    <tr><td>Username:</td><td><input type="text" name="username"></td></tr>   
    <tr><td>password:</td><td><input type="password" name="password"></td></tr> 
    <tr><td colspan="2">Ricordami<input type="checkbox" name="ricordami" value="on" class="check"></td></tr> 
    <tr><td colspan="2"><input src="bottone.jpg" type="image" value="Invia" name="submit" id="submit" class="button"></td></tr> 
    </table>   
    </form>
    Quindi puoi personalizzare il tutto come desideri, sia inserendo elementi, sia modificandoli (anche con CSS).

    Ciao!

  5. #5
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Si, diciamo che non sono proprio un esperto né di html né di css. Diciamo che ho trovato da qualche parte dei tutorial per cambiare lo sfondo anche solo in html senza usare css. Comunque ho provato a mettere mano al codice del solo form e non appare l'immagine che voglio io. Se ci fosse la guida di qualcuno sarebbe meglio e andrei subito a colpo sicuro. Per esempio, potresti dirmi dove devo mettere le mani per inserire l'immagine in jpg all'interno del codice del form che hai postato sopra?...

  6. #6
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Ho provato come dici tu a lavorare un po' sul codice del form e sono riuscito ad ottenere quello che volevo.
    Solo che adesso non mi funziona più lo script e quindi sono punto e a capo.

    Qui sotto inserisco il codice che ho prodotto:

    <table width="340" cellspacing="5" cellpadding="5">
    <tbody>
    <tr>
    <td align="left" valign="middle" background="immaginedisfondo.jpg">
    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
    <table style="cellpadding:5px; <?php require_once('./funzioni.php'); echo colore(); ?>" >
    <tr><td>Username:</td><td><input type="text" name="username"></td></tr>
    <tr><td>password:</td><td><input type="password" name="password"></td></tr>
    <tr><td colspan="2">Ricordami<input type="checkbox" name="ricordami" value="on" class="check"></td></tr>
    <tr><td colspan="2"><input src="bottone.jpg" type="image" value="Invia" name="submit" id="submit" class="button"></td></tr>
    </table>
    </form></td>
    </tr>
    </tbody>
    </table>
    Praticamente ho tolto la parte di codice che mi faceva apparire il parametro del colore [$colore] presente nel file centrale.php, ovvero la parte con: background-color:<?php require_once('./centrale.php'); echo colore(); ?>" >
    Ho lasciato il codice php <?php require_once('./centrale.php'); per mantenere tutte le funzioni, in modo da far funzionare correttamente il form ma non fa più il suo dovere, proprio perché ho tolto quella parte del codice per inserire lo sfondo.

    Mi sai dire come modificare il codice correttamente? Grazie...

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

  8. #8
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    No... in quel modo non funziona neanche lo script. Ma a parte questo, nel codice che mi hai suggerito, dove hai messo la riga che fa apparire l'immagine come sfondo? Compare solo il classico pulsantino bianco "invia". Per fare l'esempio puoi nominare la riga del pulsante con "immaginedisfondo.jpg" (come ho fatto io).

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

    Predefinito

    Citazione Originalmente inviato da podset Visualizza messaggio
    No... in quel modo non funziona neanche lo script.
    È un problema, significa che c'è qualcosa che non va. Non ho modificato nulla riguardo al funzionamento. Se funziona il codice che hai indicato, deve funzionare anche quello che ti ho indicato io.

    Per inserire lo sfondo al form, puoi farlo in tanti modi (non so come hai imparato tu). Un modo è sostituire background-color con background-image.

    Ciao!

  10. #10
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Alemoppo hai letto tre commenti più sopra? E' in quel modo che ho fatto ad inserire lo sfondo. Visto che lo script è quello che hai creato tu un po di tempo fa pensavo mi potessi scrivere il codice esatto per intero, magari facendo qualche prova per vedere se funziona. Inoltre ho fatto la prova come dici tu della sostituzione di background-color a background-image ma non viene fuori niente, cioè il form dal colore di serie che aveva prima, diventa bianco senza niente (forse non so se sbaglio qualcosa io).

    per comodità ti rimetto il codice del form creato da te che ho inserito nel primo messaggio di questa discussione

    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
    <table style="cellpadding:5px; background-color:<?php require_once('./centrale.php'); echo colore(); ?>" >
    <tr><td>Username:</td><td><input type="text" name="username"></td></tr>
    <tr><td>password:</td><td><input type="password" name="password"></td></tr>
    <tr><td colspan="2">Ricordami<input type="checkbox" name="ricordami" value="on" class="check"></td></tr>
    <tr><td colspan="2"><input src="bottone.jpg" type="image" value="Invia" name="submit" id="submit" class="button"></td></tr>
    </table>
    </form>
    Da non esperto di php ho tolto la riga background-color:<?php require_once('./centrale.php'); echo colore(); ?>"
    e ho aggiunto:

    <table width="340" cellspacing="5" cellpadding="5">
    <tbody>
    <tr>
    <td align="left" valign="middle" background="immaginedisfondo.jpg">
    Lo aggiunto per far apparire l'immagine di sfondo dell'intero form. Poi non so se togliendo quel <?php require_once reco un danno al funzionamento del form. Capisci?

    Se fosse possibile, a me farebbe comodo lo stesso codice con incluso anche il comando che fa riferimento al file centrale.php per non perdere il funzionamento del form.

    P.S: proprio in questo momento mi sono accorto che c'è una differenza fra il tuo form e il codice che ho prodotto io, ovvero nel tuo c'è la dicitura: <form name="login"
    mentre nel mio c'è: <form action="login.php"

    Secondo te questo può creare qualche errore nel funzionamento del form?
    Ultima modifica di podset : 04-09-2018 alle ore 17.40.17

  11. #11
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Alemoppo facciamo così, altrimenti ci mettiamo una vita. Qui ti inserisco i codici dei due file php in questione, così possiamo lavorarci meglio, anche perché non mi ricordo l'indirizzo dove hai postato lo script all'interno del forum.

    Codice del file funzioni.php:

    <?php
    /*
    © by alemoppo (Moroni Alessandro)
    */
    /*
    $ACCOUNT_DB = ''; #[=<account>]
    $INDIRIZZO_REDIRECT = ''; #[=<account>.altervista.org]
    $EMAIL = ''; #[=<account>@altervista.org]
    $COLORE = ''; #[=#9370DB]
    */
    $COLORE = '#D3D3D3';
    define('HEADER_MAIL','From: '.(isset($EMAIL)?$EMAIL:(nick().'@altervista.org<' )).(isset($EMAIL)?('<'.$EMAIL.'>'):(nick().'>')));
    function colore()
    {
    global $COLORE;
    if(isset($COLORE))
    return $COLORE;
    else
    return '#9370DB';
    }
    function nick()
    {
    return substr($_SERVER['SERVER_NAME'],0,(strpos($_SERVER['SERVER_NAME'],'.')===FALSE)?strlen($_SERVER['SERVER_NAME']):strpos($_SERVER['SERVER_NAME'],'.'));
    }
    function stringa_random()
    {
    $str = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456 789';
    $r = '';
    $l = 8+rand(0,5);
    for($i=0;$i<$l;$i++)
    $r .= $str{rand(0,strlen($str))};
    return $r;
    }
    function cartella() //ritorna il percorso dei file
    {
    $arr = parse_url($_SERVER['PHP_SELF']);
    $t = strrpos(substr($arr['path'],1),'/');
    return substr($arr['path'].'/',1,$t?$t+1:0);
    }
    function redirect_home($param = '')
    {
    global $INDIRIZZO_REDIRECT;
    if(isset($INDIRIZZO_REDIRECT))
    {
    if(!headers_sent())
    header('Location: http://'.$INDIRIZZO_REDIRECT.'/?'.$param);
    else die('<meta HTTP-EQUIV="REFRESH" content="0; url=http://'.$INDIRIZZO_REDIRECT.'/?'.$param.'">');
    }
    else
    {
    if(!headers_sent())
    header('Location: http://'.nick().'.altervista.org/prova/login.php'.$param);
    else die('<meta HTTP-EQUIV="REFRESH" content="0; url=http://'.nick().'.altervista.org/prova/login.php'.$param.'">');
    }
    exit;
    }
    ?>
    Qui invece c'è il codice di uno dei file php dello script, mettiamo che vogliamo cambiare lo sfondo del form contenuto nel file login.php:

    <?php
    /*
    © by alemoppo (Moroni Alessandro)
    */
    session_start();
    require_once('./funzioni.php');
    require('./config.php');
    if(isset($_SESSION['utente'])) {
    echo "Benvenuto, ".$_SESSION['utente']."<br> <a href="protetta.php">entra qui</a>";
    }

    else if(isset($_COOKIE['user'],$_COOKIE['pass']))
    {
    $user = mysql_real_escape_string($_COOKIE['user']);
    $pass = mysql_real_escape_string($_COOKIE['pass']);

    #rinnovo i cookie
    setcookie('user',$user,time()+(60*60*24*30)); //dura 30 gg
    setcookie('pass',$pass,time()+(60*60*24*30)); //dura 30 gg
    }
    if(isset($_POST['username'],$_POST['password']))
    {
    $user = mysql_real_escape_string($_POST['username']);
    $pass = md5(mysql_real_escape_string($_POST['password']));
    }

    if(isset($user,$pass))
    {
    $q = mysql_query('SELECT attivazione,pass FROM utenti WHERE username = \''.$user.'\' AND password=\''.$pass.'\' LIMIT 1');
    mysql_close($db);
    if(!$q)
    echo 'Errore durante la query: '.mysql_error();
    else if(mysql_num_rows($q) == 1)
    {
    $q = mysql_fetch_assoc($q);

    if(empty($q['attivazione']) || (!empty($q['pass'])))
    {
    $_SESSION['utente'] = htmlentities($user);
    if(isset($_POST['ricordami']))
    {
    setcookie('user',$user,time()+(60*60*24*30)); //dura 30 gg
    setcookie('pass',$pass,time()+(60*60*24*30)); //dura 30 gg
    }
    redirect_home();
    }
    else
    echo 'Account non attivato. Attivalo dall\'indirizzo specificato nell\'email!.';
    }
    else echo 'I dati non sono corretti.';
    }
    if(!isset($_SESSION['utente']))
    {
    ?>
    <form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
    <table style="cellpadding:5px; background-color:<?php require_once('./funzioni.php'); echo colore(); ?>" >
    <tr><td>Username:</td><td><input type="text" name="username"></td></tr>
    <tr><td>password:</td><td><input type="password" name="password"></td></tr>
    <tr><td colspan="2">Ricordami<input type="checkbox" name="ricordami" value="on" class="check"></td></tr>
    <tr><td colspan="2"><input type="submit" value="Invia" name="submit" id="submit" class="button"></td></tr>
    </table>
    </form>
    <?php
    }
    ?>
    Cosa bisogna fare per ottenere il cambio sfondo del form?

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Un modo è sostituire background-color con background-image.
    Perché vedo che invece hai aggiunto cose ad un <td>? Il backgroud-color non è su un td ma sull'intera tabella.
    E no, non ti scrivo il codice pronto perché sarebbe troppo facile e non impareresti nulla.
    Nei precedenti messaggi ti ho lasciato anche link a background-image. Li hai aperti? Hai provato?


    Citazione Originalmente inviato da podset Visualizza messaggio
    Qui ti inserisco i codici dei due file php in questione, così possiamo lavorarci meglio, anche perché non mi ricordo l'indirizzo dove hai postato lo script all'interno del forum.
    Avendo scritto io quei codici, anche se sono passati tanti anni li conosco. Se ti serve, l'indirizzo dove ho postato lo script è qui.

    Aggiungo che quel codice è molto obsoleto, dovresti usarne uno più aggiornato.

    Ciao!
    Ultima modifica di alemoppo : 04-09-2018 alle ore 18.59.32
    mzanella likes this.

  13. #13
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Se ti ho chiesto di postarmi il codice non è perché non voglio imparare niente ma è perché ci ho già provato fino allo sfinimento e siccome devo fare veloce mi servirebbe qualcosa di sicuro.

    Il motivo per cui mi servirebbe il codice l'ho scritto negli altri commenti qui sopra: il problema non è l'immagine in background, quello l'avevo già risolto xche lo sfondo mi compare. Il problema è che non mi funziona più il form, cioè non rimanda più alla pagina dove dovrebbe rimandare.

    Quello che non so è dove mettere la riga che richiama il file che fa funzionare il tutto, cioè quello che tu hai nominato come funzioni.php. Non so, penso che sia quello che non fa funzionare più il form.

    Il problema è che non so se e dove devo mettere la riga <table style="cellpadding:5px; background-color:<?php require_once('./funzioni.php'); echo colore(); ?>" >

    La devo mettere il table style e poi devo mettere anche il php require once con funzioni.php e l'echo colore?

    E' questo tutto il problema non è l'immagine backgruond. Non è che voglio la pappa scodellata ma è perché devo fare veloce altrimenti sarei stato ben lieto di imparare, anche se non è detto che non impari lo stesso se mi fai vedere il codice per intero, anzi forse avendo la visione più generale imparo più in fretta.

    ----

    P.S. Ho visto che hai messo la chiusura del table prima della chiusura del form, non dovrebbe essere l'incontrario?

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,433

    Predefinito

    Se il codice non ti funziona più, riscaricalo (non so che cambiamenti hai fatto che potrebbero aver danneggiato lo script; riscaricando il codice nuovo funzionante avrai quindi lo script funzionante; non è ovviamente necessaria una nuova installazione).

    Per modificare il background non devi toccare il PHP; devi solamente modificare questa riga:
    Codice HTML:
    <table style="cellpadding:5px; background-color:<?php require_once('./funzioni.php'); echo colore(); ?>" >
    La devo mettere il table style
    Sì.
    poi devo mettere anche il php require once con funzioni.php e l'echo colore?
    no visto che non utilizzi più $COLOR. Il file "funzioni.php" non serve per il corretto funzionamento del form.


    Quindi elimini il background-color:
    Codice:
    background-color:<?php require_once('./funzioni.php'); echo colore(); ?>
    Ed inserisci la proprietà background image:
    Codice:
    background-image: url(immaginedisfondo.jpg)
    Citazione Originalmente inviato da podset Visualizza messaggio
    P.S. Ho visto che hai messo la chiusura del table prima della chiusura del form, non dovrebbe essere l'incontrario?
    Codice HTML:
    <form>
    <table>
    <tr><td> ... </td></tr>
    ...
    <tr><td> ... </td></tr>
    </table>
    </form>
    Cosa c'è di sbagliato?

    Ciao!
    Ultima modifica di alemoppo : 05-09-2018 alle ore 15.22.44

  15. #15
    podset non è connesso Utente giovane
    Data registrazione
    07-07-2016
    Messaggi
    85

    Predefinito

    Ok, ora funziona tutto!

    Per quanto riguarda la chiusura del table ora mi torna. Prima l'editor me lo metteva in rosso perché stavo usando una tabella che racchiudeva tutto il form.

    Grazie mille....

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •