• User

    [Risolto] dimensioni modulo login

    Ciao gente,

    sto strutturando un portale con joomla e volevo mettere il modulo login in orizzontale sotto la testata, e fin qui tutto ok, il problema è che pur avendo messo su un unica linea sia la tabella che compare di richiesta login che quella per il logout,...quest'ultima mi presenta sotto la tabella di logout uno spazio vuoto come se la casella login fosse li ma invisibile.

    Non so se sono riuscito a spiegarmi, ma in poche parole quando sono in logout lo spazio occupato dal modulo non è solo quello della sua tabella ma rimane uno spazio vuoto sotto che non riesco ad eliminare.

    Sapreste darmi una mano a capire il perchè di tutto ciò?
    Uso il normale modulo login di joomla niente di che, ma questo comportamento mi sta mandando fuori di testa e non riesco a risolverlo. :?:bho:❌x:x

    Grazie per l'eventuale aiuto.
    Ciao.
    ParideS.


  • Super User

    Posta l'indirizzo del sito (no link attivo) e vediamo dove sta il problema.
    Intanto vedi se questo codice può esserti utile, calcola che devi editare le misure delle tabelle in base alle tue esigenze, io l'ho creato per un template che aveva poco spazio...

    
    <?php
    /**
    * @version $Id: mod_login.php 5866 2006-11-28 01:13:26Z friesengeist $
    * @package Joomla
    * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    * Joomla! is free software. This version may have been modified pursuant
    * to the GNU General Public License, and as distributed it includes or
    * is derivative of works licensed under the GNU General Public License or
    * other free or open source software licenses.
    * See COPYRIGHT.php for copyright notices and details.
    */
    
    // no direct access
    defined( '_VALID_MOS' ) or die( 'Restricted access' );
    
    global $mosConfig_frontend_login;
    
    if ( $mosConfig_frontend_login != NULL && ($mosConfig_frontend_login === 0 || $mosConfig_frontend_login === '0')) {
        return;
    }
    
    // url of current page that user will be returned to after login
    if ($query_string = mosGetParam( $_SERVER, 'QUERY_STRING', '' )) {
        $return = 'index.php?' . $query_string;
    } else {
        $return = 'index.php';
    }
    // converts & to &amp; for xtml compliance
    $return = str_replace( '&', '&amp;', $return );
    
    $registration_enabled     = $mainframe->getCfg( 'allowUserRegistration' );
    $message_login             = $params->def( 'login_message', 0 );
    $message_logout         = $params->def( 'logout_message', 0 );
    $login                     = $params->def( 'login', $return );
    $logout                 = $params->def( 'logout', $return );
    $name                     = $params->def( 'name', 1 );
    $greeting                 = $params->def( 'greeting', 1 );
    $pretext                 = $params->get( 'pretext' );
    $posttext                 = $params->get( 'posttext' );
    
    if ( $my->id ) {
    // Logout output
    // ie HTML when already logged in and trying to logout
    if ( $name ) {
            $name = $my->name;
    } else {
        $name = $my->username;
    }
        ?>
        <form action="<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>" method="post" name="logout">    
        <?php
        if ( $greeting ) {
            echo _HI;
            echo $name;
        }
        ?>
        <br />
        
        <div align="center">
            <input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGOUT; ?>" />
        </div>
    
        <input type="hidden" name="option" value="logout" />
        <input type="hidden" name="op2" value="logout" />
        <input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
        <input type="hidden" name="return" value="<?php echo sefRelToAbs( $logout ); ?>" />
        <input type="hidden" name="message" value="<?php echo $message_logout; ?>" />
        </form>
        <?php
    } else {
    // Login output
    // ie HTML when not logged in and trying to login
        // used for spoof hardening
        $validate = josSpoofValue(1);
        ?>
        <form action="<?php echo sefRelToAbs( 'index.php' ); ?>" method="POST" name="login" >
        <?php
        echo $pretext;
        ?>
        
        <div align="center">
        
    <table width="468" border="0" cellspacing="0" cellpadding="0">
    <td width="35%" align="left">
    <?php echo _USERNAME; ?>
    <br />
    <input name="username" id="mod_login_username" type="text" class="inputbox" alt="username" size="10" /></td>
    <td width="35%" align="left">
    <?php echo _PASSWORD; ?>
    <br />
    <input type="password" id="mod_login_password" name="passwd" class="inputbox" size="10" alt="password" /></td>
    <td width="15%" align="left" valign="bottom">
    <input type="submit" name="Submit1" class="button" value="<?php echo _BUTTON_LOGIN; ?>" /></td>
    <td width="15%" align="left" valign="bottom">
    <input type="checkbox" name="remember" id="mod_login_remember" class="inputbox" value="yes" alt="Remember Me" /><?php echo _REMEMBER_ME; ?></td>
    </table>
    <table border="0" width="468">
    <td align="left" width="35%" valign="bottom"><a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&amp;task=lostPassword' ); ?>"><?php echo _LOST_PASSWORD; ?></a></td>
    <?php
    if ( $registration_enabled ) {
    ?>
    <td align="left" width="65%" valign="bottom"><?php echo _NO_ACCOUNT; ?><a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&amp;task=register' ); ?>"><?php echo _CREATE_ACCOUNT; ?></a></td>
    <?php
    }
    ?>
    </table>
    </div>
        <?php
        echo $posttext;
        ?>
    
        <input type="hidden" name="option" value="login" />
        <input type="hidden" name="op2" value="login" />
        <input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
        <input type="hidden" name="return" value="<?php echo sefRelToAbs( $login ); ?>" />
        <input type="hidden" name="message" value="<?php echo $message_login; ?>" />
        <input type="hidden" name="force_session" value="1" />
        <input type="hidden" name="<?php echo $validate; ?>" value="1" />
        </form>
        <?php
    }
    ?>
    

  • User

    il sito non ancora attivo è questo:

    http://www.forumfermignano.it/portale

    ho fatto un utente di prova basta che scrivi sia per user che per pass la parola "user".

    ho lasciato il bordo alla tabella per fare vedere che quando è loggato la tabella al posto di stare su una riga ne prende due :bho:

    qui sotto ti posto il codice del file mod_login.php

    Ciao.
    e grazie per l'interessamento.
    ParideS.

    [php]
    <?php
    /**

    • @version $Id: mod_login.php 7211 2007-04-29 02:26:51Z robs $
    • @package Joomla
    • @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    • @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    • Joomla! is free software. This version may have been modified pursuant
    • to the GNU General Public License, and as distributed it includes or
    • is derivative of works licensed under the GNU General Public License or
    • other free or open source software licenses.
    • See COPYRIGHT.php for copyright notices and details.
      */
      // no direct access
      defined( '_VALID_MOS' ) or die( 'Restricted access' );
      global $mosConfig_frontend_login;
      if ( $mosConfig_frontend_login != NULL && ($mosConfig_frontend_login === 0 || $mosConfig_frontend_login === '0')) {
      return;
      }
      // url of current page that user will be returned to after login
      if ($query_string = mosGetParam( $_SERVER, 'QUERY_STRING', '' )) {
      $return = 'index.php?' . $query_string;
      } else {
      $return = 'index.php';
      }
      $registration_enabled = $mainframe->getCfg( 'allowUserRegistration' );
      $message_login = $params->def( 'login_message', 0 );
      $message_logout = $params->def( 'logout_message', 0 );
      $login = $params->def( 'login', $return );
      $logout = $params->def( 'logout', $return );
      $name = $params->def( 'name', 1 );
      $greeting = $params->def( 'greeting', 1 );
      $pretext = $params->get( 'pretext' );
      $posttext = $params->get( 'posttext' );
      if ( $my->id ) {
      // Logout output
      // ie HTML when already logged in and trying to logout
      if ( $name ) {
      $name = $my->name;
      } else {
      $name = $my->username;
      }
      ?>

    <table width="100%" border="1" align="left" cellpadding="0" cellspacing="0">
    <tr>
    <td><form action="<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>" method="post" name="logout">
    <?php
    if ( $greeting ) {
    echo _HI;
    echo $name;
    }
    ?>
    <input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGOUT; ?>" />
    <input type="hidden" name="option2" value="logout" /> <input type="hidden" name="op22" value="logout" />
    <input type="hidden" name="lang2" value="<?php echo $mosConfig_lang; ?>" />
    <input type="hidden" name="return2" value="<?php echo htmlspecialchars( sefRelToAbs( $logout ) ); ?>" />
    <input type="hidden" name="message2" value="<?php echo htmlspecialchars( $message_logout ); ?>" />
    </form> </td>
    </tr>
    </table>

    <?php
    } else {
    // Login output
    // ie HTML when not logged in and trying to login
    // used for spoof hardening
    $validate = josSpoofValue(1);
    ?>
    <form action="<?php echo sefRelToAbs( 'index.php' ); ?>" method="post" name="login" >
    <?php
    echo $pretext;
    ?>
    <!-- height="47" --> <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><label for="mod_login_username"><?php echo _USERNAME; ?></label> <label for="mod_login_remember"></label>
    <label for="label"></label></td>
    <td> <input name="username" id="username2" type="text" class="inputbox" alt="username" size="10" /></td>
    <td> <label for="label2"><?php echo _PASSWORD; ?></label> </td>
    <td><input type="password" id="passwd" name="passwd" class="inputbox" size="10" alt="password" /></td>
    <td><input type="submit" name="Submit2" class="button" value="<?php echo _BUTTON_LOGIN; ?>" />
    <label for="remember"></label></td>
    <td> <input type="checkbox" name="remember" id="remember" class="inputbox" value="yes" alt="Remember Me" />
    <label for="remember"> </label></td>
    <td><?php echo _REMEMBER_ME; ?></td>
    <td> - <a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=lostPassword' ); ?>"><?php echo _LOST_PASSWORD; ?></a></td>
    <td> - <a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=register' ); ?>"><?php echo _CREATE_ACCOUNT; ?></a>
    <label for="mod_login_remember"></label></td>
    </tr> </table>
    <?php
    if ( $registration_enabled ) {
    ?>
    <?php
    }
    ?>

    <?php
    echo $posttext;
    ?>
    <input type="hidden" name="option" value="login" />
    <input type="hidden" name="op2" value="login" />
    <input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
    <input type="hidden" name="return" value="<?php echo htmlspecialchars( sefRelToAbs( $login ) ); ?>" />
    <input type="hidden" name="message" value="<?php echo htmlspecialchars( $message_login ); ?>" />
    <input type="hidden" name="force_session" value="1" />
    <input type="hidden" name="<?php echo $validate; ?>" value="1" />
    </form>
    <?php
    }
    ?>
    [/php]


  • Super User

    Scusa, ma dove la vedi la doppia riga ? :mmm:


  • User

    nel momento in cui è loggato vedi la scritta "salve user" e il bottone esci, e sotto rimane uno spazio vuoto prima che si chiuda la tabella.

    almeno a me fa così la tabella non si chiude subito sotto le scritte ma sembra che dia spazio per un'altra riga come se ci fosse una riga nascosta all'interno.

    Spero di essermi spiegato.
    Ciao.
    ParideS.


  • Super User

    io la vedo bene (sto usando firefox)


  • User

    infatti mi sono accorto che il problema lo da solo su internet explorer.

    Sicuramente il browser interpreta male il codice php del file mod_login.php.

    mi servirebbe qualche dritta per risolvere il problema di visualizzazione anche su internet explorer,...acc.

    Grazie per il feedback Globogsm, se capisci come risolvere fammi sapere io intanto ci studio un pò sopra.

    Ciao.
    ParideS.


  • Super User

    l'ho controllato con IE6 e lo vedo uguale a FF, se il problema lo da su IE7, non posso controllare...


  • User

    Si infatti, sono riuscito a sistemarlo,:yuppi: da qualche minuto,

    per la cronaca dopo aver capito che era un problema di visualizzazione non ho fatto altro che spostare un tag di chiusura del form dopo i tag di chiusura delle celle della tabella.

    Così facendo dreamweaver, con cui lavoro, mi rileva un errore, mentre, sul browser tutto funziona perfettamente senza aggiungere un linea vuota.

    per fare un servizio anche agli altri inserisco di seguito il file finale.

    Grazie di tutto.
    Ciao.
    ParideS.

    [PHP]
    <?php
    /**

    • @version $Id: mod_login.php 7211 2007-04-29 02:26:51Z robs $
    • @package Joomla
    • @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    • @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    • Joomla! is free software. This version may have been modified pursuant
    • to the GNU General Public License, and as distributed it includes or
    • is derivative of works licensed under the GNU General Public License or
    • other free or open source software licenses.
    • See COPYRIGHT.php for copyright notices and details.
      */
      // no direct access
      defined( '_VALID_MOS' ) or die( 'Restricted access' );
      global $mosConfig_frontend_login;
      if ( $mosConfig_frontend_login != NULL && ($mosConfig_frontend_login === 0 || $mosConfig_frontend_login === '0')) {
      return;
      }
      // url of current page that user will be returned to after login
      if ($query_string = mosGetParam( $_SERVER, 'QUERY_STRING', '' )) {
      $return = 'index.php?' . $query_string;
      } else {
      $return = 'index.php';
      }
      $registration_enabled = $mainframe->getCfg( 'allowUserRegistration' );
      $message_login = $params->def( 'login_message', 0 );
      $message_logout = $params->def( 'logout_message', 0 );
      $login = $params->def( 'login', $return );
      $logout = $params->def( 'logout', $return );
      $name = $params->def( 'name', 1 );
      $greeting = $params->def( 'greeting', 1 );
      $pretext = $params->get( 'pretext' );
      $posttext = $params->get( 'posttext' );
      if ( $my->id ) {
      // Logout output
      // ie HTML when already logged in and trying to logout
      if ( $name ) {
      $name = $my->name;
      } else {
      $name = $my->username;
      }
      ?>
      <table border="0" align="left" cellpadding="0" cellspacing="6">
      <tr>
      <td><form action="<?php echo sefRelToAbs( 'index.php?option=logout' ); ?>" method="post" name="logout">
      <?php
      if ( $greeting ) {
      echo _HI;
      echo $name;
      }
      ?>
      <input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGOUT; ?>" />
      <input type="hidden" name="option2" value="logout" />
      <input type="hidden" name="op22" value="logout" />
      <input type="hidden" name="lang2" value="<?php echo $mosConfig_lang; ?>" />
      <input type="hidden" name="return2" value="<?php echo htmlspecialchars( sefRelToAbs( $logout ) ); ?>" />
      <input type="hidden" name="message2" value="<?php echo htmlspecialchars( $message_logout ); ?>" />
      </td>
      </tr>
      </form>
      </table>
      <?php // Login output // ie HTML when not logged in and trying to login // used for spoof hardening
      } else { $validate = josSpoofValue(1); ?>
      <form action="<?php echo sefRelToAbs( 'index.php' ); ?>" method="post" name="login" >
      <!-- <?php
      echo $pretext;
      ?>-->
      <table width="100%" border="0" align="center" cellpadding="0" cellspacing="6">
      <tr>
      <td><label for="mod_login_username"><?php echo _USERNAME; ?></label> <label for="mod_login_remember"></label>
      <label for="label"></label></td>
      <td> <input name="username" id="username2" type="text" class="inputbox" alt="username" size="10" /></td>
      <td> <label for="label2"><?php echo _PASSWORD; ?></label> </td>
      <td><input type="password" id="passwd" name="passwd" class="inputbox" size="10" alt="password" /></td>
      <td><input type="submit" name="Submit2" class="button" value="<?php echo _BUTTON_LOGIN; ?>" />
      <label for="remember"></label></td>
      <td> <input type="checkbox" name="remember" id="remember" class="inputbox" value="yes" alt="Remember Me" />
      <label for="remember"> </label></td>
      <td><?php echo _REMEMBER_ME; ?></td>
      <td> - <a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=lostPassword' ); ?>"><?php echo _LOST_PASSWORD; ?></a></td>
      <td> - <a href="<?php echo sefRelToAbs( 'index.php?option=com_registration&task=register' ); ?>"><?php echo _CREATE_ACCOUNT; ?></a>
      <label for="mod_login_remember"></label></td>
      </tr> </table>
      <?php
      if ( $registration_enabled ) {
      ?>
      <?php
      }
      ?>
      <!-- <?php
      echo $posttext;
      ?> -->
      <input type="hidden" name="option" value="login" />
      <input type="hidden" name="op2" value="login" />
      <input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
      <input type="hidden" name="return" value="<?php echo htmlspecialchars( sefRelToAbs( $login ) ); ?>" />
      <input type="hidden" name="message" value="<?php echo htmlspecialchars( $message_login ); ?>" />
      <input type="hidden" name="force_session" value="1" />
      <input type="hidden" name="<?php echo $validate; ?>" value="1" />
      </form>
      <?php } ?>
      [/PHP]

  • Super User

    Bene 😉
    segnalo come risolto...