php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.04.2005, 16:30  
Gast
 
Beiträge: n/a
Standard Benutzerregistrierung E-Mail erzwingung

Hallo!
Ich habe folgendes Problem:

Ich habe eine Registrierungsdatei, wo ich bei der Registrierung erzwingen will, dass man eine E-Mail-Adresse und einen Username eingeben muss.

Das dazugehörige Java Script habe ich auch schon geschrieben:

Code:
<script language="JavaScript"> 
<!-- 
function checkForm() { 
if(document.frm.test.value=="") { 
alert("Sie müssen einen Namen eingeben!"); 
return false; 
} else return true; 
}     
function checkMail(){ 
var mail = document.Emailcheck.email.value; 
var expression = /^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$/; 

if(!expression.exec(mail)) { 
alert("Keine valide Email!"); 
return false; 
} else return true; 
} 

//--> 
</script>
Doch ich habe das Problem, dass ich diesen Teil nicht in meine Datei eingebunden bekomme.

Hier der Teil, wo mein Script eingebunden werden muss:

Code:

<script language="Javascript">
<!--
function formIsValid() {
    // check to make sure a valid username has been entered
    if ( document.userInfo.user_name.value == "" ) 
    {
        alert('Please fill in username field');
        return false;
    }
    if ( document.userInfo.password.value == "" ) 
    {
        alert('Please specify password');
        return false;
    }    
    if ( document.userInfo.password.value != document.userInfo.password2.value ) 
    {
        alert('The passwords you entered do not match.');
        return false;
    }    
    
    
    return true;
}
</SCRIPT>


<?php 
    if( $register_succ === true ) {?>
    
    <TITLE>Neue Benutzerregistrierung.</TITLE>
    </head>
    
    <div align="center">
      <h2>Danke!</h2>

      
      User <?php echo $_POST['user_name'] ?> wurde erfolgreich registriert. Du kannst dich jetzt in den Generation-Chat mit deinem Benutzername und Passwort einloggen.
      

Start Generation-Chat
    </div>
        
<?php
        die;
    }  ?>





<?php if($user || $register) { ?>    
        <title><?php if(!$register){ echo "Profile for user "{$user['login']}""; } else { echo 'Neue Benutzerregistrierung.';} ?>
        </title>            
        </head>
        <body bgcolor="<?php echo htmlColor($GLOBALS['fc_config']['themes'][$GLOBALS['fc_config']['defaultTheme']]['enterRoomNotify']); ?>">
            <center>
                


                <div class="title"><?php if(!$register){ echo "Profile for user "{$user['login']}""; } else { echo 'Neue Benutzerregistrierung';} ?></div>
                </p>
                
                <?php if( $errmsg != '') echo "

<font color=\"red\">$errmsg</font></p>";    ?>
                
                <?php if($edit) { ?>
                    <form action="profile.php" method="post" name="userInfo">
                    <input type="hidden" name="flashchatid" value="<?=$req['flashchatid']?>">
                    <input type="hidden" name="register" value="<?=$register?>">
                <?php } ?>
                <table border="0" align="center" cellpadding="5" width="50%">
                
                    <?php if($register){?>                    
                    <tr><td align="right" width="50%" nowrap >Benutzername name:</td><td><input type="text" name="user_name" value="<?=$req['user_name']?>"></td></tr>                    
                    <tr><td align="right" >Passwort:</td><td><input type="password" name="password" value=""></td></tr>                    
                    <tr><td align="right" nowrap>Passwort wiederholen:</td><td><input type="password" name="password2" value=""></td></tr>
<?php                        
                        if($enable_reg) { ?>                    
                            <tr><td align="right" nowrap valign="top">Benutzerrechte:</td>
                            <td align="left"><INPUT type="radio" name="role" value="<?php echo ROLE_USER;?>" style="width:auto" <?php if($req['role'] == ROLE_USER || !isset($req['role']))echo 'CHECKED'; ?> > normal User
                            </td></tr> 
<?php                        }                    
                      }?>
                
                    <tr><td align="right" width="50%" nowrap>Name:</td><td><?php if($edit) { ?><input type="text" name="fullname" value="<?=$req['fullname']?>"><?php } else { ?><?=$req['fullname']?><?php } ?></td></tr>
                    
                    <tr><td align="right">Geschlecht:</td><td><?php if($edit) { echo htmlSelect('gender', $gender_arr, $req['gender']); } else { echo $gender_arr[$req['gender']]; } ?></td></tr>
                    
                    <tr><td align="right">Alter:</td><td><?php if($edit) { ?><input type="text" name="age" value="<?=$req['age']?>"><?php } else { ?><?=$req['age']?><?php } ?></td></tr>
                    
                    <tr><td align="right">Land:</td><td><?php if($edit) {  echo htmlSelect('location', $countries, $req['location']); } else { echo $countries[$req['location']]; } ?></td></tr>
                    
                    <tr><td align="right">E-mail:</td><td><?php if($edit) { ?><input type="text" name="email" value="<?=$req['email']?>"><?php } else { ?> <?=$req['email']?><?php } ?></td></tr>
                    <tr><td align="right">Website:</td><td><?php if($edit) { ?><input type="text" name="site" value="<?=$req['site']?>"><?php } else { ?> <?=$req['site']?><?php } ?></td></tr>
                    <tr><td align="right">ICQ:</td><td><?php if($edit) { ?><input type="text" name="icq" value="<?=$req['icq']?>"><?php } else { ?><?=$req['icq']?><?php } ?></td></tr>
                    <tr><td align="right">AIM:</td><td><?php if($edit) { ?><input type="text" name="aim" value="<?=$req['aim']?>"><?php } else { ?><?=$req['aim']?><?php } ?></td></tr>
                    <tr><td align="right">YIM:</td><td><?php if($edit) { ?><input type="text" name="yim" value="<?=$req['yim']?>"><?php } else { ?><?=$req['yim']?><?php } ?></td></tr>
                    <tr><td align="right">MSN:</td><td><?php if($edit) { ?><input type="text" name="msnm" value="<?=$req['msnm']?>"><?php } else { ?><?=$req['msnm']?><?php } ?></td></tr>
                    <tr><td align="right" valign="top">Interessen:</td><td><?php if($edit) { ?><textarea name="comments" rows="6" cols="30"><?=$req['comments']?></textarea><?php } else { ?><?=nl2br($req['comments'])?><?php } ?></tr>
                    <?php if($edit) { ?>
                    <tr><td></td><td><input type="submit" name="save" value="Speichern" onClick="javascript:return formIsValid();"></td></tr>
                    <?php } ?>
                </table>
                <?php if($edit) { ?>
                    </form>
                <?php } ?>
            </center>    
    
<?php } else { ?>
        <title>Kein Profil gefunden zur ID<?=$req['userid']?></title>
        </head>
        <body>
            <center><h4> Kein Profil gefunden zur ID <?=$req['userid']?></h4></center>
<?php } ?>
    </body>
    </html>
<?php } ?>
Kann mir da jemand von euch eventuell behilflich sein???

Vielen Dank!

Gruß

Dennis
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.04.2005, 16:44  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1. bitte php-tags verwenden
2. vieleicht mal lesen und beachten:
register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen und nicht register_globals auf on stellen !!

Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
PHP-Code:
error_reporting(E_ALL); 
damit werden dann alle Fehler ausgegeben.
3. was konkret ist dein Problem? ein sauberer weg ist, einfach nen aktivierungslink zu verschicken, so muss der user ne richtige adresse eingeben, desweiteren unterstützt dein javascript keinerlei umlautedomains!!!
http://www.php-faq.de/q/q-mail-adresse-gueltig.html
4. rate ich dir bissel mehr struktur in deinen Code zu bringen und mal über die verwendung eines template-systems nachzudenken :P
5. ist das keine fortgeschrittenen frage und Javascript einbinden hat 0 mit PHP zu tun :P btw was passiert wenn der user javascript einfach deaktiviert?
6. ausserdem mal lesen:
http://www.php-faq.de/q/q-security-variablen.html
http://www.php-faq.de/q/q-sicherheit-global.html
http://www.php-faq.de/q/q-sicherheit-parameter.html

@mods bitte nach xhtml verschieben

mfg
robo47
robo47 ist offline  
Alt 15.04.2005, 18:07  
Gast
 
Beiträge: n/a
Standard

Hallo!

Vielen Dank für deine shcnelle und umfangreiche Antwort.
Das mit dem aktivierungslink klingt sehr gut. Hats du eine Idee, wie ich das umsetzen könnte?

Vielen Dank!

Gruß

Dennis
 
Alt 15.04.2005, 18:28  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja nen zufallswert erstellen, den beim user in der datenbnak speichern und dann in den link rein.

mfg
robo47
robo47 ist offline  
Alt 15.04.2005, 18:43  
Gast
 
Beiträge: n/a
Standard

Hallo!

SO einfach wie das klingt ist es aber mit Sicherheit nicht. Kennst du da ein Tutorial oder so für?

Danke!

Gruß

Dennis
 
Alt 15.04.2005, 18:45  
Gast
 
Beiträge: n/a
Standard

Du könntest z.B. ne session starten und die session_id() in der DB speichern. Dann schickst du den Aktivierungslink per mail mit. Der könnte dann so aussehen.
Code:
www.deinedomain.de/login.php?activate={session_id}
{session_id} musst dann halt durch die session_id() ersetzen

Mit deinem Script erzwingst du leider überhaupt nicht, dass eine mail Adresse angegeben werden muss! Einfach JavaScript ausgemacht, wie robo47 schon gesagt hat.
Machs mit PHP.
btw: du solltest noch die Syntax der eingegebenen Adresse prüfen, nicht nur ob irgendwas eingegeben wurde

mfg koelle

// Edit
In der login.php setzt du dann einfach die Spalte activate_key (oder wie sie auch heißt) auf '' --> leeren..

Beim Login kannst du dann prüfen, ob in dieser Spalte was steht und dem entsprechend ist er eingeloggt oder auch net..
 
Alt 15.04.2005, 18:48  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

bisel drüber nachdnek reicht eignetlich.

GOOGELN!! :P


http://www.webmaster-resource.de/tri...erungsmail.php
http://www.tutorialcenter.de/show_tutorial_110.html
robo47 ist offline  
Alt 15.04.2005, 18:59  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von Dennis2004
SO einfach wie das klingt ist es aber mit Sicherheit nicht.
Hier schon.

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
Alt 15.04.2005, 23:00  
Gast
 
Beiträge: n/a
Standard

ich bin noch dabei mir nen newsletter-script zu schreiben und hatte genau das gleiche problem, dass der user einen bestätigungslink klicken muss.
ich hab mir hierfür eine funktion geschrieben, welche eine datei ausliest.
in der datei steht dann die email-adresse welche in den newsletter eingetragen wird. bei der registrierung wird dann eine zufällige zahl erzeugt, diese dann in die url eingebaut und die zahl ist auch gleichzeitig dateiname der datei mit der mail-addy... die url geht dem user dann als bestätigungs-link zu.
wenn der user dann seinen persönlichen link klickt, wird die mail-addy auch eingetragen, vorher passiert nix bis auf die registierung.
vielleicht war das nen gleiner denkanstoß...
 
Alt 15.04.2005, 23:02  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

warum benutzt du für sowas dateien?
robo47 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dateien aus verzeichnis einzeln als mail attachment versenden mathes PHP Tipps 2008 5 17.07.2008 19:45
mail() an web und gmx kampfnickel PHP Tipps 2008 12 23.09.2007 00:03
Unterschied zwischen mail() und popen(/usr/sbin/sendmail)... DonTermi PHP Tipps 2007 8 27.03.2007 13:25
Funktion Mail() verwenden bendigo PHP Tipps 2006 2 05.05.2006 11:44
mail() und boundary Problem Gef PHP Tipps 2006 4 02.03.2006 00:47
Mail mit mail() kommt nicht an center PHP Tipps 2005-2 5 18.08.2005 13:02
Mail adresse überprüfen? PHP Tipps 2005-2 6 16.06.2005 11:53
Mit der PHP mail() Funktion eine HTMl mail verschicken? PHP Tipps 2005 6 09.05.2005 07:13
php mail() header &amp;amp;amp;amp;amp;amp; Spam Problem PHP-Fortgeschrittene 4 04.05.2005 12:31
[Erledigt] Error Mail() function PHP Tipps 2005 3 14.04.2005 03:32
newsletter: mail versand PHP Tipps 2005 0 18.02.2005 15:44
Mail versenden - Fehler 553 Anuschka PHP Tipps 2004-2 7 13.12.2004 19:54
mehrere Atachement mit HTML Mime mail class??? 18inch PHP Tipps 2004-2 1 28.11.2004 23:58
mail() - mail header PHP-Fortgeschrittene 2 28.09.2004 15:35
T-Online vs Mail() PHP Tipps 2004 4 13.08.2004 15:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
benutzerregistrierung php

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.