Nu är de så att jag har en liten ideell förening som ska gå med i http://www.sverok.se och då måste man ha personnummer, förnamn, efternamn o.s.v på alla medlemmar som registrerar sig fast jag är lite dålig när de kommer till att redigera sånthär. Jag har testat att redigera ucp_register.php, men jag förstår inte hur jag ska få den att kolla om man skrivit i personnummer eller något. Jag har ett sånthär script redan fast de är ju inte till PhpBB och jag har inte en susning hur jag ska få de att fungera med PhpBB. Jag hade också tänkt mig att man skulle ha en egen liten tabell för förenings upgifter så man enkelt kan skicka den till Sverok utan att behöva radera massa tabell rader o.s.v, men de är bara ifall de går just nu är jag bara ute efter ett sätt att göra detta möjligt alls.
Kan visa koden här:
Kod: Markera allt
<?php
ignore_user_abort(true);
################## funktioner
function randstr($length) {
$str = null;
mt_srand((double)microtime()*10000);
for($i=0;$i<$length;$i++) {
$x = mt_rand(1,3);
$str .= (($x == 1) ? chr(mt_rand(48,57)) : (($x == 2) ? chr(mt_rand(65,90)) : chr(mt_rand(97,122))));
}
return $str;
}
################
function checkmail ($youremail) {
if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $youremail)) {
return true;
} else {
return false;
}
}
##################
#### KOLLAR personnummret, se till att det som skickas in r 10siffror utan bindestreck
## returnerar ngot om personnummret r korrekt.
## dvs if(checkPnr($nummer)) { echo "personnummret r korrekt"; }
### Denna funktionen r inte avstngd!
function checkpnr($pnr) {
$n = 2;
for($i=0; $i<9; $i++) {
$tmp = substr($pnr,$i,1) * $n;
($tmp > 9) ? $sum += 1 + ($tmp % 10) : $sum += $tmp; ($n == 2) ? $n = 1 : $n = 2;
}
return !( ($sum + substr($pnr,9,1)) % 10);
}
#############################################
if(isset($_POST['submit'])) {
$fel = "0";
$mail_till = $_POST['adress'];
$anv_namn = trim(str_replace(" ","_",$_POST['namn']));
$anv_pass = trim($_POST['pass']);
$anv_pass2 = trim($_POST['pass2']);
$req_persupg = (isset($_POST['intesvensk']) && $_POST['intesvensk'] == 1) ? false : true;
if($anv_pass == $anv_pass2 ) { ## KOLLA OM LSENORDET R OKEJ
if(checkmail($mail_till) === false) {
@$error .= EMAIL_INVALID."<br />";
$fel = 1;
$adr_fel = 1;
}
if(strlen($anv_pass) <= 3) {
@$error .= PW_4CHARS."<br />";
$fel = 1;
}
## Validera anvndarnamnet
$pattern = "^([a-zA-Z0-9 ^_!-])*$";
if(!eregi($pattern,$anv_namn)) {
echo INVALID_USERNAME."<br />";
$fel = 1;
$anv_fel = 1;
} elseif($anv_namn == "") {
echo INVALID_USERNAME."<br />";
$fel = 1;
$anv_fel = 1;
}
// Denna funktionen r p fr vi r ju med i sverok!
if($req_persupg) {
echo "PERSONUPPGIFTER CHECK KRS";
if((!ctype_digit($_POST['pnr1']) && $_POST['pnr1'] != NULL) || (!ctype_digit($_POST['pnr2']) && $_POST['pnr2'] != NULL)) {
// gr s att man kan ha en bokstav p slutet,
// d kan man registrera sig med finska personnummer ocks
if(ctype_digit($_POST['pnr1']) && ctype_digit(substr($_POST['pnr2'],0,3))) {
$pnr_fel = 2;
$pnr = $_POST['pnr1'];
} else {
@$error .= PNR_ONLYNR."<br />";
$fel = "1";
$pnr_fel = 1;
}
} else {
$pnr = $_POST['pnr1'].$_POST['pnr2'];
$pnr2 = $pnr;
if(strlen($pnr2) != 10) {
@$error .= PNR_10DIGITS."<br />";
$fel = "1";
$pnr_fel = 1;
} elseif(!checkpnr($pnr2)) {
@$error .= PNR_INVALID."<br />";
$fel = "1";
$pnr_fel = 1;
}
}
if(!ctype_digit(str_replace("-","",$_POST['telnr']))) {
@$error .= INVALID_PHONE."<br />";
$fel = "1";
$telnr_fel = 1;
}
if(ctype_digit($_POST['fnamn']) || $_POST['fnamn'] == NULL) {
@$error .= INVALID_FNAME."<br />";
$fel = "1";
$fnamn_fel = 1;
}
if(ctype_digit($_POST['enamn']) || $_POST['enamn'] == NULL) {
@$error .= INVALID_SNAME."<br />";
$fel = "1";
$enamn_fel = 1;
}
if(!ctype_digit($_POST['postnr']) || $_POST['postnr'] == NULL) {
@$error .= INVALID_POSTCODE."<br />";
$fel = "1";
$postnr_fel = 1;
}
if($_POST['boadress'] == NULL || ctype_digit($_POST['boadress'])) {
@$error .= INVALID_ADRESS."<br />";
$fel = "1";
$bor_fel = 1;
} elseif(strpos($_POST['boadress'],'@') !== false) {
@$error .= AT_IN_ADRESS."<br />";
$fel = "1";
$bor_fel = 1;
}
if($_POST['postort'] == NULL || ctype_digit($_POST['postort'])) {
@$error .= INVALID_CITY."<br />";
$fel = "1";
$postort_fel = 1;
}
if(!isset($_POST['sverok']) || $_POST['sverok'] != 1) {
@$error .= MUST_JOIN_SVEROK."<br />";
$fel = "1";
}
}
} else {
@$error .= PASSWORD_NO_MATCH."<br />";
$fel = "1";
}
if($fel == "0") { // Kolla om anvndarnamnet r upptaget
$query = "SELECT COUNT(*) as rakna FROM $anv_table WHERE sNick LIKE '$anv_namn'";
$result = mysql_query($query);
$finns = "0";
if(mysql_result($result,'0','rakna') != "0" && mysql_result($result,'0','rakna') != NULL) {
$anv_fel = 1;
$finns = "1";
@$error .= USERNAME_IN_USE."<br />";
}
## Kolla om emailen redan anvnds
$query = "SELECT COUNT(*) as rakna FROM $anv_table WHERE sEmail LIKE '$mail_till'";
$result = mysql_query($query);
if(mysql_result($result,'0','rakna') != "0" && mysql_result($result,'0','rakna') != NULL) {
$adr_fel = 1;
$finns = "1";
@$error .= EMAIL_IN_USE."<br />";
}
//Denna funktionen r p fr att vi mste ha personnummer p sidan!
if($req_persupg) {
if(!isset($pnr_fel) || $pnr_fel != 2) {
$query = "SELECT id FROM $forening_table WHERE pnr = $pnr LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) != NULL) {
$pnr_fel = 1;
$finns = "1";
@$error .= PNR_IN_USE."<br />";
}
}
}
if($finns != "1") { // lgg in infon om anvndaren
$kod = randstr(8);
$anv_pass_md5 = md5($anv_pass);
$nu = time();
if($req_persupg) {
$query = "INSERT INTO $anv_table ( `iUser` , `sNick` , `sPassword` , `sNyttpassword` , `sEmail` , `sGuid` , `sData` , `sKod` , `sLastip`, `iAktiv` , `sAutologut` , `ban`, `iGodkand` ) VALUES ".
"('', '$anv_namn', '$anv_pass_md5', '', '$mail_till', NULL , '$nu' , '$kod', '', '0', '1', NULL, '1')";
} else {
$query = "INSERT INTO $anv_table ( `iUser` , `sNick` , `sPassword` , `sNyttpassword` , `sEmail` , `sGuid` , `sData` , `sKod` , `sLastip`, `iAktiv` , `sAutologut` , `ban`, `iGodkand` ) VALUES ".
"('', '$anv_namn', '$anv_pass_md5', '', '$mail_till', NULL , '$nu' , '$kod', '', '0', '1', NULL, '2')";
}
$result = mysql_query($query);
$ny_id = mysql_insert_id();
if($req_persupg) {
$query = "INSERT INTO `$forening_table` ( `id` , `fnamn` , `enamn` , `pnr` , `adress` , `postnr` , `postort` , `telnr` , `gickmed`, `godkand`,`mid` ) VALUES ('', '{$_POST['fnamn']}', '{$_POST['enamn']}', '$pnr', '{$_POST['boadress']}', '{$_POST['postnr']}', '{$_POST['postort']}', '{$_POST['telnr']}', NOW(), '0', '$ny_id')";
} else {
$query = "INSERT INTO `$forening_table` ( `id` , `fnamn` , `enamn` , `pnr` , `adress` , `postnr` , `postort` , `telnr` , `gickmed`, `godkand`,`mid` ) VALUES ('', '', '', '123', '', '', '', '', NOW(), '1', '$ny_id')";
}
$result = mysql_query($query);
if($_SESSION['lang'] == 'en') {
$mail_amne = "EliteCS Membership";
$mail_text = "Thank you for registering at EliteCS.se\r\n".
"You must activate your account by following this link: http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id \r\n".
"In case it doesn't work this is your code: $kod \r\n \r\n".
"Account details: \r\n".
"Username: $anv_namn \r\n".
"Password: $anv_pass ";
} else {
$mail_amne = "Medlemmskap hos EliteCS";
$mail_text = "Tack fr att du registrerat dig hos EliteCS.se \r\n".
"Du mste aktivera ditt konto genom att flja den hr lnken: http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id \r\n".
"Om det inte fungerar r din registreringskod: $kod \r\n \r\n".
"Inloggningsuppgifter: \r\n".
"Anvndarnamn: $anv_namn \r\n".
"Lsenord: $anv_pass ";
}
$mail_headers = 'From: noreply@elitecs.se'."\r\n".
'Reply-To: noreply@elitecs.se'."\r\n".
'Mime-Version: 1.0'."\r\n".
'X-Mailer: PHP/'.phpversion();
if (@mail($mail_till, $mail_amne, $mail_text,$mail_headers)) {
echo '<h1><span class="glob"></span>'.REGISTER.'</h1>
<div class="innehall">'.EMAIL_SENT.'</div>';
} else {
if($_SESSION['lang'] == 'en') {
@$error .= "The mail could not be sent<br />
But you can activate your account here: <br />
<a href='http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id'>activate your account http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id</a><br />";
} else {
@$error .= "Mailet kunde inte skickas<br />
Men du kan aktivera ditt konto hr:<br />
<a href='http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id'>aktivera ditt konto http://www.elitecs.se/index.php?p=bekraftany&aid=$kod&id=$ny_id</a><br />";
}
$fel = 1;
}
} else {
$fel = 1;
}
}
} # slut p isset submit <-- Behvs fr personnummer reg ska funka */
if(!isset($_POST['submit']) || $fel == 1) {
echo '<h1><span class="glob"></span>'.REGISTER.'</h1>
<div class="innehall">';
if(isset($error)) { echo "<span class=\"error\" style=\"color: #ff0000;font-size: 15px\">$error</span>"; }
// vi ska skriva ut alla post grejer utifall man fr ett fel.
// D slipper man skriva om allt
?>
<form method="post" action="index.php?p=regga">
<i><?php echo WHEN_CREATE_GET_EMAIL; ?></i>
<br /><br />
<?php echo E_MAIL; ?>:<br />
<input name="adress" value="<?php if(isset($_POST['adress']) && !isset($adr_fel)) { echo $_POST['adress']; } ?>" /><br />
<br />
<?php echo USERNAME; ?>:<br />
<input name="namn" value="<?php if(isset($_POST['namn']) && !isset($anv_fel)) { echo $_POST['namn']; } ?>"/><br />
<br />
<?php echo PW; ?>:<br />
<input type="password" name="pass" /><br /><br />
<?php echo REPEAT_PW; ?>:<br />
<input type="password"name="pass2" /><br />
<br /><br /><br />
<label for="intesvensk"><?php echo CHECK_IF_NOT_FROM_SWEDEN; ?>:</label>
<input type="checkbox" name="intesvensk" id="intesvensk" value="1" <?php echo ((isset($_POST['intesvensk']) && $_POST['intesvensk'] == 1) ? 'checked="checked"' : ''); ?> />
<br /><br /><br />
<b><?php echo IF_FROM_SWEDEN; ?></b>:<br /><br />
<?php echo FNAME; ?>: <br />
<input name="fnamn" value="<?php if(isset($_POST['fnamn']) && !isset($fnamn_fel)) { echo $_POST['fnamn']; } ?>"/><br />
<br />
<?php echo SNAME; ?>: <br />
<input name="enamn" value="<?php if(isset($_POST['enamn']) && !isset($enamn_fel)) { echo $_POST['enamn']; } ?>"/><br />
<br />
<?php echo PHONE_NR; ?>: <br />
<input name="telnr" value="<?php if(isset($_POST['telnr']) && !isset($telnr_fel)) { echo $_POST['telnr']; } ?>" /><br />
<br />
<?php echo STREET_ADDR; ?>: <br />
<input name="boadress" value="<?php if(isset($_POST['boadress']) && !isset($bor_fel)) { echo $_POST['boadress']; } ?>" /><br />
<br />
<?php echo POST_CODE; ?>: <br />
<input name="postnr" value="<?php if(isset($_POST['postnr']) && !isset($postnr_fel)) { echo $_POST['postnr']; } ?>" /><br />
<br />
<?php echo CITY; ?>: <br />
<input name="postort" value="<?php if(isset($_POST['postort']) && !isset($postort_fel)) { echo $_POST['postort']; } ?>" /><br />
<br />
<?php echo PNR; ?>:
<input name="pnr1" value="<?php if(isset($_POST['pnr1']) && !isset($pnr_fel)) { echo $_POST['pnr1']; } ?>" maxlength="6" size="6" type="text"> -
<input name="pnr2" value="<?php if(isset($_POST['pnr2']) && !isset($pnr_fel)) { echo $_POST['pnr2']; } ?>" maxlength="4" size="4"type="text">
<br />
<br /><br />
<?php echo STADGAR_HERE.' <a href="?p=omglobal#stadgar" target="_blank">'.STADGAR.'</a>'; ?>
<br /><br />
<?php echo I_ACCEPT_MEMBERSHIP; ?>: <input type="checkbox" name="sverok" value="1"><br />
<br /><br />
<input type="submit" name="submit" value="<?php echo CREATE; ?>" />
</form>
</div>
<?php
}
?>


