Fehler: Aber wo?
Andreas Menzel
- php
Ich wollte den Formmailer der Joomlakomponente Contacts ändern:
Zwei Ansichte; Logged in Absender=user Emailadresse vom User/ Logged out: Eingabe ermöglichen!
Der Output ist momentan nicht nach meinen Wünschen:
Wer hat da einen rat?
Gruß Andreas
[PHP]
<?php
/**
* Writes Email form
*/
function _writeEmailForm( &$contact, &$params, $sitename, &$menu_params ) {
global $Itemid, $mosuser, $my;
var $benutzer; var $eadresse; var $eingeloggt; var $inputform; var $readclass; var $inputform1; var $readclass1;
if ( $contact->email_to && !$params->get( 'popup' ) && $params->get( 'email_form' ) ) {
// used for spoof hardening
$validate = josSpoofValue();
?>
<tr>
<td colspan="2">
<br />
<?php echo $params->get( 'email_description' ) ?>
<br /><br />
<form action="<?php echo sefRelToAbs( 'index.php?option=com_contact&Itemid='. $Itemid ); ?>" method="post" name="emailForm" target="_top" id="emailForm" >
<div class="contact_email<?php echo $menu_params->get( 'pageclass_sfx' ); ?>">
<?php
$eingeloggt=false;
$inputform="text";
$inputform1="text";
$readclass="inputbox";
$readclass1="inputbox";
if ($my->$logged='1')
{
$eingeloggt=true;
$benutzer=$my->name;
$eadresse=$my->email;
$inputform="hidden";
$inputform1="hidden";
$readclass="ftext";
$readclass1="ftext";
}
?> <br />
<label for="contact_name">
<?php echo(_NAME_PROMPT);?>
</label>
<br />
<input type=<?php echo $inputform;?> class=<?php echo $readclass;?> name="name" id="contact_name" size="30" value="<?php echo $benutzer; ?>" />
<?php if ($inputform="hidden")
{
echo $benutzer;
}
?>
<br />
<label for="contact_email">
<?php echo(_EMAIL_PROMPT); ?>
</label>
<br />
<input text=<?php echo $inputform1; ?> class=<?php echo $readclass1;?> name="email" id="contact_email" size="30" value="<?php echo $eadresse; ?>" />
<?php if ($inputform1="hidden")
{
echo $eadresse;
}
?>
<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 />
<br />
<br />
<label for="contact_text">
<?php echo(_MESSAGE_PROMPT); ?>
</label>
<br />
<textarea cols="50" rows="10" name="text" id="contact_text" class="inputbox"></textarea>
<?php
if ( $params->get( 'email_copy' ) ) {
?>
<br />
<input type="checkbox" name="email_copy" id="contact_email_copy" value="1" />
<label for="contact_email_copy">
<?php echo(_EMAIL_A_COPY); ?>
</label>
<?php
}
?>
<br />
<br />
<input type="button" name="send" value="<?php echo(_SEND_BUTTON); ?>" class="button" onclick="validate()" />
</div>
<input type="hidden" name="option" value="com_contact" />
<input type="hidden" name="con_id" value="<?php echo $contact->id; ?>" />
<input type="hidden" name="sitename" value="<?php echo $sitename; ?>" />
<input type="hidden" name="op" value="sendmail" />
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
</form>
<br />
</td>
</tr>
}
}
[/PHP]
Hi Andreas,
= != ==
Du benutzt eine Zuweisung möchtest aber vermutlich einen Vergleich durchführen.
Gruß
lulu
Hi Andreas,
= != ==
Du benutzt eine Zuweisung möchtest aber vermutlich einen Vergleich durchführen.
Gruß
lulu
Richtig, stimmt,
ich wollte nach schauen ob ein user eingeloggt ist,
wenn ja user-name, und email adress dem Formmailer übertragen zgl.
soll das Formular umgestellt werden von input type=text auf type=hidden
dabei soll die felder für einträge nicht beschreibar werden.
ich beschäftige mich erst seit ein paar tagen mit php scripten, und habe die operatoren und funktionen noch nicht gut drauf
Danke
Trotz Ändereung des Operators in der if kontrolle funktioniert es nicht!
form reagiert unlogisch!
Die Abfrage 'wenn user eingeloggt dann variabeln besetzen mit'
$varname='hidden'; oder $varname='text';
funktioniert wunderbar.
nur möchte ich die variable in input übergeben:
eintrag:
<input type="<?php echo $varname;?>" oder $$; mit oder ohne ""
...>
führt dazu wenn der user nicht eingeloggt hidden sonst text
ich betone nochmal das die variabeln richtig gesetzt sind und die abfrage für sich korrekt ergebnisse liefert.
nur die integration in die form scheint nicht richtig zu funktionieren.
Huhu Andreas,
Trotz Änderung des Operators in der if kontrolle funktioniert es nicht!
Dir ist auch nicht entgangen das nämlicher Fehler dreifach (mindestens) vorlag?
[...]
if ($my->$logged='1')
[...]
if ($inputform="hidden")
[...]
if ($inputform1="hidden")
[...]
Ansonsten lass Dir das resultierende HTML anzeigen und versuche mit Dumpausgaben (z.B. per var_dump() ) der Variablen das Problem einzugrenzen.
Viele Grüße
lulu