2014-10-08 2 views
0
if($_POST) { 

$mysql_pass = ''; 

$connect = @mysql_connect($_POST['dbHost'], $_POST['dbUser'], $mysql_pass); 

if($connect) { 
if(@mysql_select_db($_POST['dbName'])) { 
    $dir = $_SERVER['SERVER_NAME']. $_SERVER['REQUEST_URI']; 
    $redirectUrl = str_replace("configForm.php","site/index", $dir); 
    print $redirectUrl; exit; 
    $dbConf = dirname(__FILE__).'/dbConfig/dbconf.php'; 
    $handle = fopen($dbConf, 'w') or die('Cannot open file: '.$dbConf); 
    $data = '<?php $userName="'.$_POST['dbUser'].'";'."\n"; 
    $data .= '$passWord=" ";'."\n"; 
    $data .= '$dbName="'.$_POST['dbName'].'";'."\n"; 
    $data .= '$host="'.$_POST['dbHost'].'"; ?>'; 
    fwrite($handle, $data); 
    header('Location: site/index'); 
} 
else { 
    $error = 'Could not select database.'; 
} 
} 

else $ error = '연결되지 않음'; }

위의 코드를 실행하면 웹 페이지에 "localhost/www-edusec/site/index"가 방금 표시됩니다. 내가 어디에서 잘못했는지 모르겠다. 내 양식 동작은 다음과 같다 : 어쨌든 현재 페이지에

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST">

답변

0

action 속성의 기본값은, 코드의 조각 반드시 중복 있도록.

문제는 PHP_SELF도 파일 경로를 반환합니다. 그냥 액션 라인을 완전히 제거하고 잘 작동합니다.

편집 :이 디렉토리를 출력 한 후

는 또한, 스크립트가 절반 방법을 차단하는 이유는, 당신은 exit; 있습니다.

+0

나는 당신이 말한 것을 기반으로 몇 가지 편집을했습니다. 그러나 나는이 메시지를 받았습니다 " CDbException CDbConnection이 DB 연결을 열지 못했습니다." – jenny

+0

그건 당신의 SQL에 대한 다른 문제입니다, 나는 당신이 여기에 관해서는 에러와 함께 PHP 코드를 연결하는 것과 관련하여 또 다른 질문을하거나 SQL 코드로 이것을 확장하는 것이 좋습니다. –