Results 1 to 14 of 14
Thread: PHP -
Hybrid View
-
13th May 2013 14:15 #1Registered User
Join Date: Apr:2007
Location: Bulgaria
Posts: 301
PHP -
! . - , . ( , ):
PHP Code:$length = strlen($real_name);
if($length != 0){
$found_capital = 0;
$found_space = 0;
$found_real = 0;
for($i = 0; $i < $length; $i++){
if($real_name[$i] == ' ') $found_space++;
}
if(strlen($real_name)< 2 || strlen($real_name) > 17 || $found_space > 1){
$errors[] = ' 3 17 1 !';
}else{
for($i = 0; $i < $length; $i++){
if(ctype_alpha($real_name[$i])){
$found_real++;
if(strtoupper($real_name[$i]) == $real_name[$i]){
$found_capital++;
}
}
if($real_name[$i] ==' '){ $found_space++; }
}
if($found_capital > 2 || !ctype_alpha($real_name[0]) || $found_real < 2){
$errors[] = ' , 2 2 !';
}
}
}
if ($errors) {
foreach ($errors as $error) echo '<div class="error">'. $error .'</div>';
} else {
$newPass = md5($pass1);
$real_name = mysqli_real_escape_string($dbc,$real_name);
if(array_search($area,$regions) === false){
$area = null;
}
$query = "INSERT INTO users SET username='$name', password='$newPass', email='$email', date=NOW(), real_name='$real_name', area='$area', website='$website'";
mysqli_query($dbc,$query) or die(mysqli_error($dbc));
echo '<div class="success"> . . </div>';
$_POST = array();
}
}
?>
<form method="post" action="">
<table cellpadding="0" border="0" width="370px">
<tr>
<td valign="top" class="form">
<label for="username">:<em>*</em></label>
</td>
<td valign="top">
<input type="text" name="username" maxlength="13" size="24" value="<?php if(isset($_POST['username'])) echo $_POST['username']; ?>" />
</td>
</tr>
<tr>
<td valign="top" class="form">
<label for="pass1">:<em>*</em></label>
</td>
<td valign="top">
<input type="password" name="pass1" maxlength="14" size="24" />
</td>
</tr>
<tr>
<td valign="top" class="form">
<label for="pass2"> :<em>*</em></label>
</td>
<td valign="top">
<input type="password" name="pass2" maxlength="14" size="24" />
</td>
</tr>
<tr>
<td valign="top" class="form">
<label for="email">Email:<em>*</em></label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="50" size="24" value="<?php if(isset($_POST['email'])) echo $_POST['email']; ?>" />
</td>
</tr>
<tr>
<td valign="top" class="form">
<label for="real_name"> :</label>
</td>
<td valign="top">
<input type="text" name="real_name" maxlength="17" size="24" value="<?php if(isset($_POST['real_name'])) echo $_POST['real_name']; ?>" />
</td>
</tr>
<tr>
<td class="form">
<label for="area">:</label>
</td>
<td valign="top">
<select id="area" name="area">
<option> </option>
<?php foreach($regions as $region): ?>
<option value="<?php echo $region; ?>" <?php if(isset($area) && $area == $region) echo "selected=$area"; ?>>
<?php echo $region; ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr>
<td valign="top" class="form">
<label for="website">:</label>
</td>
<td valign="top">
<input type="text" name="website" maxlength="50" size="24" value="<?php if(isset($_POST['website'])) echo $_POST['website']; ?>" />
</td>
</tr>
</table>
<input type="submit" name="reg" class="reg" value="" />
</form>Last edited by zulos; 13th May 2013 at 15:48.
-
13th May 2013 14:45 #2
?
, UTF8-aware, , .
, UTF8 2 , strlen() () .
, , ( ASCII ( ) - $str[$i] , 1 UTF8, / ).
strlen($real_name) 2 17 , , , - 16 , 8 (17 ).
. handle- (- ), UTF-8-aware , mb_string , .
, , .
ctype_ setLocale(LC_CTYPE, 'bg_BG.UTF-8');, , , , php-to. IPB . .
if(strtoupper($real_name[$i]) == $real_name[$i])
, strtoupper , $real_name[$i], - , 8 . 8 .
-8 , , iso-8859/latin1, , SET NAMES 'utf-8' .Last edited by tedych; 13th May 2013 at 15:04.
-
13th May 2013 15:49 #3
$real_name
-8
3 17 1 !
, 2 2 !
? .
-
13th May 2013 16:03 #4
( ), , , .
if (($rnlen=mb_strlen($rntrimmed=trim($real _name), 'UTF-8'))<2 || $rnlen>17 || !preg_match('/^[a-zA-Z--0-9][a-z-]*(\s[a-zA-Z--][a-z-]*)?$/u', $rntrimmed)) {
$errors[] = ' , 2 17 , 2 - !';
}
, .
Edit: ,
. , trim().
2 . . -
.
-
13th May 2013 16:32 #5Registered User
Join Date: Apr:2007
Location: Bulgaria
Posts: 301
-
13th May 2013 16:59 #6
if (($rnlen=mb_strlen($rntrimmed=trim($real _name), 'UTF-8'))<2 || $rnlen>17 || !preg_match('/\w\w/u', $rntrimmed) || !preg_match('/^[a-zA-Z--][a-z-0-9_.,-]*(\s[a-zA-Z--0-9][a-z-0-9_.,-]*)?$/u', $rntrimmed)) {Last edited by tedych; 13th May 2013 at 19:19.




Reply With Quote

Lenovo ThinkPad 15 IdeaPad 15
5th May 2023, 22:16 in