-1
PHP에서 'create table'에 문제가 있습니다. table의 이름은 등록 된 사용자의 이름입니다. 문제는 '$ nuovidati'에 있습니다. 여기 PHP로 생성 테이블
<?php
require('config.php');
if(isset($_POST['registra']))
{
$user = (isset($_POST['user'])) ? trim($_POST['user']) : '';
$pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';
$mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';
if (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
$mail = addslashes($mail);
}
if(strlen($user) < 4 || strlen($user) > 12)
die('Nome Utente troppo corto, o troppo lungo');
elseif(strlen($pass) < 4 || strlen($pass) > 12)
die('Password troppo corta, o troppo lunga');
elseif(!eregi("^[a-z0-9][_\.a-z0-9-][email protected]([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $mail))
die('Email non valida');
elseif(mysql_num_rows(mysql_query("SELECT user FROM utenti WHERE user = '$user' LIMIT 1")) == 1)
die('Nome Utente non disponibile');
elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = '$mail' LIMIT 1")) == 1)
die('Questo indirizzo email risulta già registrato ad un altro utente');
else
{
$pass = md5($pass);
$strSQL = "INSERT INTO utenti (user,pass,mail)";
$strSQL .= "VALUES('$user', '$pass', '$mail')";
mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
$index = 'modello.php';
copy($index, $user) or die("Errore copia.");
$rin = basename($user, ".php").".php";
rename($user, $rin);
$nuovidati = "CREATE TABLE ".$user."
(
descrizione varchar(100) DEFAULT NULL,
data date NOT NULL,
entrata varchar(10000) NOT NULL,
uscita varchar(10000) DEFAULT NULL,
saldo varchar(100) DEFAULT NULL,
id mediumint(9) NOT NULL AUTO_INCREMENT
)";
mysql_query($nuovidati) OR die("Erroe: ".mysql_error());
header('Location: registrato.php');
exit;
}
}
?>
이 작업 코드 :
$nuovidati = "CREATE TABLE $user
(
descrizione varchar(100) DEFAULT NULL,
data date NOT NULL,
entrata varchar(10000) NOT NULL,
uscita varchar(10000) DEFAULT NULL,
saldo varchar(100) DEFAULT NULL,
id mediumint(9) NOT NULL AUTO_INCREMENT,
primary key (id)
)";
mysql_query($nuovidati) OR die("Errore: ".mysql_error());
'---''주변 시세 및 점 제거를 표 $의 user'에게 –
(!) 참고 만들기 : passwo에 대한 MD5를 사용하지 마십시오 저장; 그것은 오래되었고 "너무 빠르다"고 생각합니다. [** CRYPT_BLOWFISH **] (http://security.stackexchange.com/q/36471) 또는 PHP 5.5의 ['password_hash()'] (http://www.php.net/manual/ko/)를 사용하십시오. function.password-hash.php) 함수를 호출합니다. 게다가,'eregi()'는 PHP 5.3.0부터 사용이 금지되었습니다. 이 기능에 의존하는 것은 매우 바람직하지 않습니다. –
프레드, 작동하지 않습니다. – Sisma