mruoppolo 14 Denunciar post Postado Outubro 7, 2015 Olá, tudo bem? Eu preciso criar um arquivo index.php através do fopen e inserir nele alguns códigos pra abrir uma sessão e colocar uma variável de sessão nele, tipo isso aqui: $name = $subdominio.'/loja.php'; $text = "<?php session_start(); $_SESSION['lojaID'] = $lojaID; ?>"; $file = fopen($name, 'a'); fwrite($file, $text); fclose($file); Porém eu to recebedo o seguinte erro: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/diret721/public_html/finaliza-cadastro.php on line 78 A linha 78 seria neste aquivo a 01 Sabe o que poderia ser? Obrigado :D Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 7, 2015 Se há elemento não esperado na linha 78, veja o que há na 77. Alguma coisa ali pode estar errada E sobre o conteúdo a ser salvo no arquivo, use aspas simples ou escape o cifrão com barra invertida (\$). Assim será escrito o nome da variável, em vez do seu valor Entenda melhor o motivo: http://php.net/manual/pt_BR/language.types.string.php Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Outubro 7, 2015 Então Beraldo, eu pensei a mesma coisa, mas parece estar tudo certo, o bloco seria este aqui: // CRIA O REDIRECIONAMENTO $busca_id_loja = mysql_query("select intLojaID from tb_loja where intUserID = '$userid'"); $li = mysql_fetch_assoc($busca_id_loja); $lojaID = $li['intLojaID']; $name = $subdominio.'/loja.php'; $text = "<?php session_start(); $_SESSION['lojaID'] = $lojaID; ?>"; $file = fopen($name, 'a'); fwrite($file, $text); fclose($file); O sistema faz o seguinte, o cliente entra la e cria sua própria loja virtual e para cada loja o sistema cria um subdominio nomedaloja.nomedosistema.com.br ai este subdominio tem uma pasta, pra eu não precisar ficar replicando os arquivos da loja virtual, cada loja tem uma id e quando o usuário acessa este subdominio, eu coloquei um arquivo que grava a id da loja em uma variavel de sessão a id da loja e redireciona o usuário para a loja, assim ele vai puxar os dados exatos da loja que ele deseja. Não sei se esta lógica esta certa, mas foi o que eu consegui pensar e este trecho que da erro é exatamente a parte que cria o arquivo que vai conter este redirecionamento, porém ele sempre da erro, como o arquivo é .php eu precisei incluir as tags <?php eu achei que o erro poderia ser este, mas eu já retirei e deu o erro do mesmo jeito. muito obrigado Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Outubro 7, 2015 Eu acabei de perceber que se eu tiro o "<?php" do arquivo ele funciona perfeitamente, porém eu preciso que o arquivo seja php, como eu faço? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 7, 2015 É só trocar as aspas, como eu disse: php > $text = '<?php session_start(); $_SESSION[\'lojaID\'] = $lojaID; ?>'; php > file_put_contents('/tmp/test.php', $text); // depois exibi o conteúdo do arquivo: $ cat /tmp/test.php <?php session_start(); $_SESSION['lojaID'] = $lojaID; ?> Mas pense melhor antes de continuar com essa ideia. Replicar código é sempre ruim. Você pode ter vários domínios (VirtualHosts) apontando para a mesma raiz (DocumentRoot). Ou seja, um único código atende a diversos domínios (sub-domínios no seu caso) Para diferenciar cada loja, basta olhar o domínio, com HOST_NAME, por exemplo Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Outubro 8, 2015 Como seria isso de olhar o dominio com host_name, porque assim, os arquivos da loja estão em uma pasta chamada loja e quando o usuário acessa o subdominio, ele vai direto pra pasta com o nome do subdominio, então eu tenho que redirecionar, mas quando eu faço isso ele perde o endereço do subdominio. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 8, 2015 é só verificar $_SERVER['HTTP_HOST'] http://php.net/manual/pt_BR/reserved.variables.server.php seria como um sistema de login, mas em vez de email/senha é o domínio Compartilhar este post Link para o post Compartilhar em outros sites
mruoppolo 14 Denunciar post Postado Outubro 8, 2015 Eu até entendo a lógica, mas não consigo pensar no algoritmo, vou dar uma pensada aqui, mas vou marcar como resolvido, porque sua outra resposta já resolveu o problema de criação de arquivo, muito obrigado Beraldo Compartilhar este post Link para o post Compartilhar em outros sites