valascus Posted July 6, 2012 at 08:07 AM Report Share #467609 Posted July 6, 2012 at 08:07 AM Bom dia, eu estava a tentar modificar um antigo php que convida automaticamente pessoas para o grupo steam. Infelismente, tenho um erro, na linha 134. O Codigo, a partir da linha 133 é este: { $query_string = "?type=groupInvite^&inviter="$inviter"^&invitee=%1^&group="$plugin_groupid"^&sessionID="$steam_cookie" $steam_invite = curl_init(); curl_setopt($steam_invite, CURLOPT_URL, "http://steamcommunity.com/actions/GroupInvite".$query_string); curl_setopt($steam_invite, CURLOPT_RETURNTRANSFER, 1); curl_setopt($steam_invite, CURLOPT_HEADER, 1); curl_setopt($steam_invite, CURLOPT_COOKIE, "steamLogin=".$steam_cookie); $result = curl_exec($steam_invite); curl_close($steam_invite); return $result; } Por um .bat que eu e funciona, o link de convidar é assim: http://steamcommunity.com/actions/GroupInvite?type=groupInvite^&inviter=steamid64 da minha steam^&invitee=%1^&group=id do grupo que quero convidar^&sessionID=Session Id da steam. Espero resolver o mais rapido possivel. Obrigado Link to comment Share on other sites More sharing options...
pmg Posted July 6, 2012 at 08:45 AM Report Share #467610 Posted July 6, 2012 at 08:45 AM Não podes ter aspas normais dentro de aspas: tens de as "escapar" $string_com_aspas = "Em inglês, \"Nice\" quer dizer \"Boa\" O Mc'Donalds está em promoção."; Outra hipótese é usar plicas (mas se tiveres plicas dentro das plicas tens de as "escapar") $string_com_aspas = 'Em inglês, "Nice" quer dizer "Boa" O Mc\'Donalds está em promoção.'; Ainda outra hipótese é usar "heredoc" $string_com_aspas = <<<STRING_COM_ASPAS Em inglês, "Nice" quer dizer "Boa" O Mc'Donalds está em promoção. STRING_COM_ASPAS; Podes ler mais sobre string no manual do php: http://php.net/manual/en/language.types.string.php De acordo com o manual, ainda tens a opção da sintaxe "nowdoc" ... é nova demais para eu conhecer como usá-la: lê a descrição no manual What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 09:20 AM Report Share #467618 Posted July 6, 2012 at 09:20 AM (edited) De acordo com o manual, ainda tens a opção da sintaxe "nowdoc" ... é nova demais para eu conhecer como usá-la: lê a descrição no manual o manual indica que o nowdoc é a mesma coisa que o heredoc, só que a string é tratada como que se fosse escrita com apostrofes, isto é, não existe o parsing da string: exemplo: $var = 'XPTO'; $text1 = <<<TEXT1 1: isto é um texto com uma variavel com valor {$var} TEXT1; $text2 = <<<'TEXT2' 2: isto é um texto com uma variavel com valor {$var} TEXT; echo $text1; echo "\n"; echo $text2; isto resulta em : 1: isto é um texto com uma variavel com valor XPTO 2: isto é um texto com uma variavel com valor {$var} Edited July 6, 2012 at 09:21 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:04 AM Author Report Share #467628 Posted July 6, 2012 at 10:04 AM Agora tenho erro na linha 136. Nao a editei... curl_setopt($steam_invite, CURLOPT_URL, "http://steamcommunity.com/actions/GroupInvite".$query_string); O codigo completo esta em cima Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 10:08 AM Report Share #467630 Posted July 6, 2012 at 10:08 AM como sabes que tens erro ? o script diste que tens erro ? ter essa informação é 99.999% melhor para resolver um problema, porque nessa mensagem (99.999% dos casos) tem a explicação do que aconteceu de mal IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:28 AM Author Report Share #467634 Posted July 6, 2012 at 10:28 AM (edited) Sim, ele disse isto: Parse error: syntax error, unexpected T_STRING on line 136 Edited July 6, 2012 at 10:35 AM by valascus Link to comment Share on other sites More sharing options...
pmg Posted July 6, 2012 at 10:35 AM Report Share #467637 Posted July 6, 2012 at 10:35 AM Isso cheira-me a aspas por fechar numa das linhas anteriores. Liga o realce de sintaxe no teu editor para ele te mostrar onde começam e acabam as strings (um post aqui, no P@P, com as tags correctas, faz a mesma coisa) $x = "jsd" . $fhfgs . "jkfdsjkghfds" . "hgsdsd; something_else(); curlopt_setopt($xxx, BLABLABLA, "string"); Nota que a string que comecou na linha 1 acaba na linha 3 What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 10:36 AM Report Share #467638 Posted July 6, 2012 at 10:36 AM a mensagem de erro dita que ao interpretar o script encontrou um literal que não deveria ter encontrado nessa linha no entanto, é preciso lembrar que um compilador (neste caso um interpretador) é um programa, e esta situação é uma das poucas vezes que a mensagem de erro não é 100% correta, é na realidade um best-effort para dizer algo com significado. porquê: a tua instrução está claramente correta, ponto. mas é normal, quando um literal (uma string), quando não é corretamente fechada, o erro só ser detectado à posteriori. este é o teu caso. o erro não se encontra na linha 136, mas numa linha anterior, que no teu caso deverá ser onde declaras a expressão regular. deverás estar a usar um editor sem syntaxe highlight porque se o usasses, ele imediatamente te marcaria muito código com a cor de um literal. para ser possível te dizer qual o problema, só mesmo com o código descrito acima. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:39 AM Author Report Share #467641 Posted July 6, 2012 at 10:39 AM Ele esta ali em cima: { $query_string = "type=groupInvite^&inviter='$inviter'^&invitee=%1^&group='$plugin_groupid'^&sessionID='$steam_cookie' $steam_invite = curl_init(); curl_setopt($steam_invite, CURLOPT_URL, "http://steamcommunity.com/actions/GroupInvite".$query_string); curl_setopt($steam_invite, CURLOPT_RETURNTRANSFER, 1); curl_setopt($steam_invite, CURLOPT_HEADER, 1); curl_setopt($steam_invite, CURLOPT_COOKIE, "steamLogin=".$steam_cookie); $result = curl_exec($steam_invite); curl_close($steam_invite); return $result; } Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 10:42 AM Report Share #467644 Posted July 6, 2012 at 10:42 AM verifica a tua inicialização do literal e como estás a terminar "type...steam_cookie' A A | | aspas apostrofe IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:45 AM Author Report Share #467646 Posted July 6, 2012 at 10:45 AM agora tenho o mesmo erro, mas na linha 135. Aqui esta o codigo: { $query_string = "type=groupInvite^&inviter='$inviter'^&invitee=%1^&group='$plugin_groupid'^&sessionID='$steam_cookie'" $steam_invite = curl_init(); curl_setopt($steam_invite, CURLOPT_URL, "http://steamcommunity.com/actions/GroupInvite".$query_string); curl_setopt($steam_invite, CURLOPT_RETURNTRANSFER, 1); curl_setopt($steam_invite, CURLOPT_HEADER, 1); curl_setopt($steam_invite, CURLOPT_COOKIE, "steamLogin=".$steam_cookie); $result = curl_exec($steam_invite); curl_close($steam_invite); return $result; } A linha 135 é: $steam_invite = curl_init(); Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 10:51 AM Report Share #467651 Posted July 6, 2012 at 10:51 AM não deve ser exatamente a mesma mensagem de erro, porque se fosse, o interpretador estaria a se queixar de um literal na linha seguinte. o que se deve estar a queixar é que existe uma variável que não esperava, isto porque não estás a terminar a instrução na linha 134. $query_string = "type=groupInvite^&inviter='$inviter'^&invitee=%1^&group='$plugin_groupid'^&sessionID='$steam_cookie'"; A | ponto e virgula IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
MASNathan Posted July 6, 2012 at 10:51 AM Report Share #467652 Posted July 6, 2012 at 10:51 AM agora tenho o mesmo erro, mas na linha 135. Aqui esta o codigo: { $query_string = "type=groupInvite^&inviter='$inviter'^&invitee=%1^&group='$plugin_groupid'^&sessionID='$steam_cookie'" $steam_invite = curl_init(); curl_setopt($steam_invite, CURLOPT_URL, "http://steamcommunity.com/actions/GroupInvite".$query_string); curl_setopt($steam_invite, CURLOPT_RETURNTRANSFER, 1); curl_setopt($steam_invite, CURLOPT_HEADER, 1); curl_setopt($steam_invite, CURLOPT_COOKIE, "steamLogin=".$steam_cookie); $result = curl_exec($steam_invite); curl_close($steam_invite); return $result; } A linha 135 é: $steam_invite = curl_init(); Falta o ; Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:56 AM Author Report Share #467654 Posted July 6, 2012 at 10:56 AM (edited) Agora tenho erro linha 54 e 121. Vou enviar Linha 54: $steam_communityid = strstr($steam_cookie, "%", true); Nao tem mais nada, nao tem codigo antes associado Linha 121: $mysqli_conn->close(); Fecha a conexao a DB e tambem nao tem nenhum codigo antes associado E ainda o clássico: Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'o meu user' (using password: YES) on line 57 Onde a linha 57 é: $mysqli_conn = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port); Edited July 6, 2012 at 10:58 AM by valascus Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 10:57 AM Report Share #467655 Posted July 6, 2012 at 10:57 AM como sabes que tens erro ? o script diste que tens erro ? ter essa informação é 99.999% melhor para resolver um problema, porque nessa mensagem (99.999% dos casos) tem a explicação do que aconteceu de mal IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
valascus Posted July 6, 2012 at 10:59 AM Author Report Share #467657 Posted July 6, 2012 at 10:59 AM Sim, deu esse erro. Na linha 54 deu este : Warning: Wrong parameter count for strstr() E na linha 121, este: Warning: mysqli::close() [mysqli.close]: Couldn't fetch mysqli on line 121 Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 11:22 AM Report Share #467661 Posted July 6, 2012 at 11:22 AM Na linha 54 deu este : Warning: Wrong parameter count for strstr() o 3º parâmetro do strstr só foi adicionado após a versão 5.3, podes confirmar a tua versão do PHP ?? E na linha 121, este: Warning: mysqli::close() [mysqli.close]: Couldn't fetch mysqli on line 121 pois, isso porque com a informação que adicionaste ao post anterior Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'o meu user' (using password: YES) on line 57 Onde a linha 57 é: $mysqli_conn = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port); não tens ligação á base de dados, logo não a podes fechar 😄 agora, isso já entra na área de autenticação no servidor. ligação tens, porque tens resposta, no entanto - ou o nome do utilizador ou a palavra chave estão erradas - ou não tens o utilizador criado na base de dados - ou o utilizador não tem permissões para a base de dados pedida (se bem que este caso acho que a mensagem diz isso) Nota que é diferente ter permissões de acesso ao servidor de permissões de acesso à base de dados do servidor IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
pocoyozaoo Posted July 18, 2012 at 10:54 AM Report Share #469125 Posted July 18, 2012 at 10:54 AM Estou com o mesmo problema... alguem pode postar um script que faça isto e que de corretamente? Alias ate fui eu que lhe dei o ficheiro .bat so que a unica coisa que esse faz é abrir as janelas do explorador e convidar... que breka um bocado o pc... a partir de PHP e muito melhor... se alguem conseguir agradeço : ) Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 18, 2012 at 11:30 AM Report Share #469136 Posted July 18, 2012 at 11:30 AM e que tal fazeres tu ? assim ias aprender um pouco de PHP e de programação em geral .... boa ideia não ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
pocoyozaoo Posted July 18, 2012 at 12:38 PM Report Share #469149 Posted July 18, 2012 at 12:38 PM nao sei php por isso estou aqui a pedir... se nao queres ajudar nao ajudas. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now