2010-05-01 6 views
0
/* Errors exist, have user correct them */ 
    if($form->num_errors > 0) 
    { 
     return 1; //Errors with form 
    } 
    /* No errors, add the new account to the */ 
    else if($database->addLeagueInformation($subname, $subformat, $subgame, $subseason, $subwindow, $subadmin, $subchampion, $subtype)) 
    { 
     $database->addLeagueTable(); 
     $_SESSION['players'] == $subplayers; 
     $comp_name == '$format_$game_$name_$season'; 
     $_SESSION['comp_name'] == $comp_name; 
     return 0; //New user added succesfully 
    } 
    else 
    { 
     return 2; //Registration attempt failed 
    } 

На данный момент это не делает любой из этих вещей:построив если, если еще, другое заявление

$database->addLeagueTable(); 
    $_SESSION['players'] == $subplayers; 
    $comp_name == '$format_$game_$name_$season'; 
    $_SESSION['comp_name'] == $comp_name; 

Есть ли лучший способ сделать это?

Редактирование!

$comp_name = "$subformat_$subgame_$subname_$subseason"; 
     $_SESSION['comp_name'] = $comp_name; 

Этот код генерирует только что в подсезонке $? Есть ли очевидная причина для этого?

Дальнейшее редактирование!

else if($database->addLeagueInformation($subname, $subformat, $subgame, $subseason, $subwindow, $subadmin, $subchampion, $subtype)) 
    { 
     $_SESSION['players'] = $subplayers; 
     $comp_name = "$subformat_$subgame_$subname_$subseason"; 
     $_SESSION['comp_name'] = $comp_name; 
     $database->addLeagueTable(); 
     return 0; //New user added succesfully 
    } 

И функция addLeagueTable()

function addLeagueTable() { 
    $q = "CREATE TABLE `$_SESSION[comp_name]` (
    `user` VARCHAR(30) NOT NULL , 
     `team` VARCHAR(40) NOT NULL , 
     `home_games_played` INT(3) NULL DEFAULT '0', 
     `home_wins` INT(3) NULL DEFAULT '0', 
     `home_draws` INT(3) NULL DEFAULT '0', 
     `home_losses` INT(3) NULL DEFAULT '0', 
     `home_points` INT(3) NULL DEFAULT '0', 
     `home_goals_for` INT(3) NULL DEFAULT '0', 
     `home_goals_against` INT(3) NULL DEFAULT '0', 
     `away_games_played` INT(3) NULL DEFAULT '0', 
     `away_wins` INT(3) NULL DEFAULT '0', 
     `away_draws` INT(3) NULL DEFAULT '0', 
     `away_losses` INT(3) NULL DEFAULT '0', 
     `away_points` INT(3) NULL DEFAULT '0', 
     `away_goals_for` INT(3) NULL DEFAULT '0', 
     `away_goals_against` INT(3) NULL DEFAULT '0' 
     )"; 
    return mysql_query($q, $this->connection); 
} 

какие-либо идеи?

Как я пройти ..

 $retval = $session->createLeague($_POST['name'], $_POST['players'], $_POST['format'], $_POST['game'], $_POST['season'], $_POST['window'], $_POST['admin'], $_POST['champion'], $_POST['type']); 

И это посылает их к той функции, addLeagueInformation отправляется!

ответ

5

== - оператор сравнения, но, например, в $_SESSION['players'] == $subplayers; вы хотите, чтобы оператор присваивания =
Возможно, у вас также есть проблема с $comp_name == '$format_$game_$name_$season';. В однокасканных строках php не заменяет переменные.

+0

И то же самое касается следующих строк: –

1

Есть ли лучший способ сделать это?

Собственно выполняйте задания?

$_SESSION['players'] = $subplayers; 
// ------------------^ one '=' instead of two '==' (which is for comparison). 
$comp_name = "{$format}_{$game}_{$name}_{$season}"; 
// double quotes to allow substitution, 
// {...} to avoid interpreting the variable name as `$format_`. 
$_SESSION['comp_name'] = $comp_name; 

И убедитесь, что addLeagueInformation действительно возвращают, не ложное значение в тесте, если вы ожидаете, что они должны быть выполнены.

+0

Это помогло, но я не думаю, что $ comp_name = '$ format_ $ game_ $ name_ $ season'; работает? – sark9012

+0

@ Luke: Вам нужны двойные кавычки. – kennytm

+0

Это сделало таблицу $ format_ $ game_ $ name_ $ season name. – sark9012

Смежные вопросы