Individuelles Login Formular
am 20.08.2008 - 21:33 Uhr in
Hallo zusammen, habe es jetzt so gemacht, dass ich das Loginformular direkt in die page.tpl.php schreibe ... er zeigt mir auch alles prima an und wenn ich auf registrieren und passwort vergessen klicke, funktioniert es auch nur das reine einloggen klappt nicht ... ich geb username und passwort an drücke auf login -> NICHTS ...
hier eimal der Code aus meiner page.tpl.php
<?php global $user; ?>
<?php if ($user->uid) : ?>
<span class="login_text">Welcome, </span> <?php print ($user->name); ?> <br>
<?php print l("Your Account",'user/'.$user->uid); ?> |
<?php print l("Log-Out","logout", array(), drupal_get_destination()); ?>
<?php else : ?>
<form action="?q=<?php print drupal_get_destination() ?>" method="post" id="user-login-form">
Username<input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" tabindex="1" class="form-text required" />
<br>
Passwort <input type="password" name="pass" id="edit-pass" size="15" tabindex="2" class="form-text required" />
<br>
<a href="/?q=user/password" title="Retrieve lost password">vergessen?</a><input type="submit" name="op" id="edit-submit" value="Login" tabindex="3" class="form-submit" />
<br>
<a href="/?q=user/register" title="Create account">registrieren!</a>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login" />
</form>
<?php endif; ?> wo kann denn der fehler stecken? tut mir leid bin ein noob in drupal was sowas angeht !
- Anmelden oder Registrieren um Kommentare zu schreiben

login themen
am 20.08.2008 - 22:30 Uhr
Moin!
Du könntest direkt das Standard-Formular einbinden:
...<?php print l("Log-Out","logout", array(), drupal_get_destination()); ?>
<?php else {
print drupal_get_form('user_login_block');
}?>
Oder Du fügst einfach noch das fehlende versteckte input-Feld ein (so, wie im Handbuch beschrieben):
...<br /> <!-- Tags immer wieder schliessen! -->
<a href="/?q=user/register" title="Create account">registrieren!</a>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login" />
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token('search_theme_form'); ?>" />
</form>
hth,
Stefan
PS: verwendest Du eigentlich wirklich drupal4.7 oder doch schon eine neuere Version?
verstehen tu ich das nicht
am 21.08.2008 - 07:52 Uhr
verstehen tu ich das nicht ganz, ich würde ja auch gerne wissen, was an meinem code so falsch sein soll? un wo ich vlt was hinzufügen muss ...
Ne ich benutze 4.7
Würde mich über weitere Antworten freuen!
form_token
am 21.08.2008 - 08:16 Uhr
verstehen tu ich das nicht ganz, ich würde ja auch gerne wissen, was an meinem code so falsch sein soll? un wo ich vlt was hinzufügen muss ...
Dir fehlt das Feld "form_token". Damit bestimmt drupal (vereinfacht gesagt), welche Funktion ausgeführt werden soll. Wenn das Element fehlt, passiert auch nichts.
Ne ich benutze 4.7
Ok, dann musst Du
<input type="hidden" name="edit[form_token]" id="a-unique-id" value="<?php print drupal_get_token('user_login_block'); ?>" />einfügen:<?php global $user; ?><?php if ($user->uid) : ?>
<span class="login_text">Welcome, </span> <?php print ($user->name); ?> <br>
<?php print l("Your Account",'user/'.$user->uid); ?> |
<?php print l("Log-Out","logout", array(), drupal_get_destination()); ?>
<?php else : ?>
<form action="?q=<?php print drupal_get_destination() ?>" method="post" id="user-login-form">
Username<input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" tabindex="1" class="form-text required" />
<br /> <!-- Tags werden auch wieder geschlossen; sonst zieht es :-) -->
Passwort <input type="password" name="pass" id="edit-pass" size="15" tabindex="2" class="form-text required" />
<br />
<a href="/?q=user/password" title="Retrieve lost password">vergessen?</a><input type="submit" name="op" id="edit-submit" value="Login" tabindex="3" class="form-submit" />
<br />
<a href="/?q=user/register" title="Create account">registrieren!</a>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login" />
<input type="hidden" name="edit[form_token]" id="a-unique-id" value="<?php print drupal_get_token('user_login_block'); ?>" /> <!-- das fehlte! -->
</form>
<?php endif; ?>
hth,
Stefan
links
am 21.08.2008 - 08:22 Uhr
Nachtrag:
<a href="/?q=user/password" title="Retrieve lost password">vergessen?</a>und<a href="/?q=user/register" title="Create account">registrieren!</a>kannst Du auch von drupal ausgeben lassen. Dann gibts auch keine eventuellen Probleme mit dem Pfad, falls Du Deine Seite mal in einem Unterordner betreiben möchtest.<?phpprint l('vergessen?', 'user/password', array('class' => 'lost-password', 'title' => 'Retrieve lost password'));
?>
Stefan
hab dir mal eine nachrciht
am 21.08.2008 - 08:48 Uhr
hab dir mal eine nachrciht geschrieben, klappt nämlich immer noch nicht :(
EDIT: sry es handelt sich doch um drupal 5.x
form_token
am 21.08.2008 - 09:12 Uhr
Bei drupal5 müsste es
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token('user_login_block'); ?>" />sein.Dann sollte der Login auch funktionieren.
Stefan
schau mal selbst ... klappt
am 21.08.2008 - 09:25 Uhr
schau mal selbst ... klappt nicht :(
login
am 21.08.2008 - 09:43 Uhr
Öhm, Deine Formulareingaben werden nach
?q=destination=nodegeschickt. Sie gehören jedoch nachuser/login?q=destination=node.Also:
<?php global $user; ?><?php if ($user->uid) : ?>
<span class="login_text">Welcome, </span> <?php print ($user->name); ?> <br>
<?php print l("Your Account",'user/'.$user->uid); ?> |
<?php print l("Log-Out","logout", array(), drupal_get_destination()); ?>
<?php else : ?>
<form action="user/login?q=<?php print drupal_get_destination() ?>" method="post" id="user-login-form">
Username <input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" tabindex="1" class="form-text required" />
<br /> <!-- Tags werden auch wieder geschlossen; sonst zieht es :-) -->
Passwort <input type="password" name="pass" id="edit-pass" size="15" tabindex="2" class="form-text required" />
<br />
<a href="/?q=user/password" title="Retrieve lost password">vergessen?</a>
<input type="submit" name="op" id="edit-submit" value="Login" tabindex="3" class="form-submit" />
<br />
<a href="/?q=user/register" title="Create account">registrieren!</a>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login" />
<input type="hidden" name="edit[form_token]" id="a-unique-id" value="<?php print drupal_get_token('user_login_block'); ?>" />
</form>
<?php endif; ?>
Stefan
hehe ... jetzt bekomm ich
am 21.08.2008 - 10:06 Uhr
hehe ... jetzt bekomm ich ERROR 500: Internal Server Error ...
login
am 21.08.2008 - 10:28 Uhr
Klar.
<form action="user/login?q=<?php print drupal_get_destination() ?>" method="post" id="user-login-form">ist auch nicht richtig. :-)<form action="?q=user" method="post" id="user-login-form">Stefan
super es scheint endlich zu
am 21.08.2008 - 10:41 Uhr
super es scheint endlich zu funktionieren ...wenn du mir jetzt noch verrätst was ich einstellen muss, damit das bild nicht immer weiß wird und erst nach F5 kommt , dann bist du mein Held :)
weiss
am 21.08.2008 - 10:47 Uhr
Ist mir auch schon aufgefallen. Keine Ahnung, woran das liegt. Hast Du mal in die Log-Files geschaut? Vielleicht zu wenig Speicher?
Der weisse Bildschirm kommt übrigens auch beim Abmelden.
Stefan
jo ist mir auch aufgefallen
am 21.08.2008 - 10:55 Uhr
jo ist mir auch aufgefallen beim abmelden ... der speicher liegt bei 64M ... wie hoch soll ich den schrauben?
habe übrigens noch die beiden hier gefunden
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
ist damit irgendwas zu holen :) ?
weiss
am 21.08.2008 - 11:03 Uhr
jo ist mir auch aufgefallen beim abmelden ... der speicher liegt bei 64M ... wie hoch soll ich den schrauben?
Das sollte eigentlich reichen. Die Logs geben nichts her?
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
Das macht nichts :-) (also nichts bzgl. weissem Bildschirm).
ich poste mal die
am 21.08.2008 - 11:06 Uhr
ich poste mal die letzten:
Zugriff verweigert 08/21/2008 - 10:04 user/1/contact Gast
Warnung Zugriff verweigert 08/21/2008 - 10:04 user/1/edit Gast
Fehler PHP 08/21/2008 - 10:03 Cannot modify header information - headers already ... administrator
Fehler PHP 08/21/2008 - 10:03 session_regenerate_id() [