+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Login/User-Parameter in eine andere PHP

  1. #1
    Neu an Board
    Registriert seit
    18.08.2006
    Beiträge
    46
    Bedankte sich
    11
    Erhielt 6 Danksagungen
    in 4 Beiträgen

    Idee Php-Programmierung v. Kontak: Login/User-Parameter verwenden

    Hallo wie bekomme ich die User und Login - Vars und Parameter in eine andere Php?
    Ich möchte die Com_Contact mit einer Function erweitern:
    Ich benötige
    loginstatus: Ist der User, der sich hier befindet ,eingeloggt?
    ja: globale var und Parameter: Name, Emailadresse,

    folgendes schwebt mir vor (korregiert bitte die Syntax):
    Parameter/variabeln u.a. aus der User-tabelle (db)
    <?php
    function _userlogged
    {
    // ** Übergabe
    //** Parametername für User aus der Datenbank oder von com_Login (global)
    //** Parametername für useremail (global)

    var
    $user-name=' ';

    var
    $user-emailadresse=' ';

    var
    $readonly=' ';

    var
    $bedingung=' ';


    *// Bedingung: Vordefiniert:

    $Bedingung='false';

    *// Wenn "User eingelogt" dann "Bedingung"( 'true' ) ansonsten Bedingung( 'false' );

    If $Bedingung( ' true' )
    {
    $user-name=$username; *// aus Db;
    $user-emailadresse=$useremail; *// aus der Db;
    $readonly= 'readonly="1" ';
    }
    else
    {
    $readonly=' ';
    $user-emailadresse=' ';
    $user-name=' ';
    }
    }
    ?>
    //** Ergebnis soll sein:

    **<?php echo $readonly; ?>
    **<?php echo $user-emailadresse; ?>
    **<?php echo $user-name; ?>

    Bsp. für Form Email-Eintrag des Namens

    <input type="text" name="name" id="contact_name" size="30" class="inputbox" value="<?php echo $user-name; ?>" <?php echo
    $readonly; ?> />
    Wer hat da einen Tipp für mich?

    Gruß Barney

    Was will ich damit erreichen:
    Eingeloggte User sollen im Kontakfomular, und in der daraus resultierenden Email, fest und unveränderbar eingetragen sein, für nicht eingeloggte User sollen diese Felder beschreibbar sein.
    Grund:
    Im internen Bereich möchte ich eine Art-Anmeldungfür Veranstaltungen schaffen, und wie man die Contact-content fields ausfüllt ist ja jacke wie hose..

    Gruß Barney
    Geändert von barney (11.02.2007 um 12:55 Uhr) Grund: Ergänzung der Begründung.

  2. #2
    Neu an Board
    Registriert seit
    18.08.2006
    Beiträge
    46
    Bedankte sich
    11
    Erhielt 6 Danksagungen
    in 4 Beiträgen

    Blinzeln Loginstatuseintrag gefunden:

    Für mein Problem:

    global $mosConfig_frontend_login;

    if not ( $mosConfig_frontend_login != NULL && ($mosConfig_frontend_login === 0 || $mosConfig_frontend_login === '0'))
    { $Bedingung='true';}
    [/QUOTE]

  3. #3
    Neu an Board
    Registriert seit
    18.08.2006
    Beiträge
    46
    Bedankte sich
    11
    Erhielt 6 Danksagungen
    in 4 Beiträgen

    Standard Lösung:

    remoteuser.php ::

    <?php
    {
    defined( '_VALID_MOS' ) or die( 'Restricted access' );


    global $mosuser;

    $benutzer=' ';
    $eadresse=' ';


    if ($my->$logged='1'){

    $benutzer= $my->name;
    $eadresse=$my->email;

    }
    ?>

    ich bin aber noch nicht ganz fertig...

  4. #4
    Neu an Board
    Registriert seit
    18.08.2006
    Beiträge
    46
    Bedankte sich
    11
    Erhielt 6 Danksagungen
    in 4 Beiträgen

    Idee Endlich gelöst -es funktioniert :)

    Hallo Leute ich habe mein Problem gelöst:

    Ich habe es geschaft die Kontak - Komponente (Com_contac) so umzubauen das man sie als Rückmeldeformular verwenden kann;
    Im Backend besteht die Möglichkeit die Kategorien der Komponente auf 'registred' oder 'special' zu stellen.

    Betreff ist vorgegeben durch den Kontaktname(backend);

    Name und Email - tragen sich ein sofern ein User eingeloggt.
    Nicht eingeloggte User können aber trotzdem die beiden Formularfelder ausfüllen.


    So erhält man wunderbare Rückmeldekarten.
    ** die datei contact.html.php befindet sich im Anhang
    ** Installation über Ftp in den Ordner '/components/com_contact/' verschieben
    ** Backup zuvor nicht vergessen.


    ...
    Vorarbeit:
    PHP-Code:
    global $mosuser// **die Uservariablen aus der com_user */

    /**
    * @package Joomla
    * @subpackage Contact
    */

    class HTML_contact {
          var 
    $benutzer; var $eadresse; var $eingeloggt; var $inputform//** Variabeln hinzugefügt*/ 
    ...
    Änderung im Formular: Hinzufügen der User-Variabeln
    ...
    PHP-Code:
            /**
        * Writes Email form
        */
        
    function _writeEmailForm( &$contact, &$params$sitename, &$menu_params ) {
            global 
    $Itemid,$mosuser$my//* $my ist eine globale variable von user 
    ...
    Prüfphase + Ausgabe:
    PHP-Code:
    <form action="<?php echo sefRelToAbs'index.php?option=com_contact&amp;Itemid='$Itemid ); ?>" method="post" name="emailForm" target="_top" id="emailForm" >
                    <div class="contact_email<?php echo $menu_params->get'pageclass_sfx' ); ?>">
                      
                    <?php  
                                 
                            
    if ($my->$logged='1')            /** Es wird geprüft ob der user gerade eingeloggt ist*/
                                            

                                             
    $eingeloggt true;  /** und einer Wahr-Falsch-Var. übergeben*/
                        
    $benutzer=$my->name/** Zgl. , wenn Wahr: werden Name -> Nicht Username( $my->username; )*/
                                              
    $eadresse=$my->email
                                           } 
    /** ...und emailadresse aus gelesen*/

                        
    if ( $eingeloggt true)                      //**Input-Type-Schalter*/
                        

                                             
    $inputform='"hidden" readonly=""';}       //** Im Hintergrund /wird der eintrag der id übergeben,*/
                        
    if ($eingeloggt false)                        //** readonly, das Formfeld ist für einträge gesperrt*/
                        

                                            
    $inputform="text";
                                            }                         
                                                 
                    
    ?>
    Jetzt wir richtig gearbeitet: Ausgabe der Var:

                        <label for="contact_name">
                                <?php echo(_NAME_PROMPT);?>
                            </label>
                            <br />
                            <input type= <?php echo $inputform;?> name="name" id="contact_name" size="30" class="inputbox" value="<?php echo $benutzer;?>" />
                            <?php if ($eingeloggt true) { echo $benutzer;}?>
                            <br />
                                                    </input>
                            <br />
                            <label for="contact_email">
                                <?php echo(_EMAIL_PROMPT);?>
                            </label>
                            <br />
                            <input type=<?php echo $inputform;?>  name="email" id="contact_email" size="30" class="inputbox"  value="<?php echo $eadresse?>" />
                             <?php if ($eingeloggt true) { echo $eadresse;}?>
                            <br />
                                                   </input>
                            <br />
                                             <br />
                         <label for="contact_subject">
                         <?php echo (_SUBJECT_PROMPT?>
                         </label>
                        <br />
                         <input type="text" name="subject" id="contact_subject" size="30" class="inputbox" value=" <?php echo $contact->name;?>" readonly />

    Gruß
    Barney
    Angehängte Dateien

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein