Ver Versão Completa : Duvida de HTML/PHP
born2hack
19-08-2006, 12:37
Boas. Tenho um problema com um formulario. É uma caixa de texto, com metodo de submissao GET. Se eu enviar uma string do tipo "A&D" apenas o A é lido quando eu faço $_GET["nome"]; Como posso passar a string correctamente? Ja experimentei com javascript, usando a funcao "escape", mas dá erro à mesma.
PS: Nao posso usar o POST, pois isso resolvia logo o problema. Tem de ser mesmo o GET.
Se tens apenas uma coisa para enviar via $_GET utilizas o asdas?asdasd=asdasd
qdo tens 2 coisas deves ter algo asdas?asdasd=asdasd&asdasd=asdasd
Verifica se tens os "="
born2hack
19-08-2006, 17:11
O meu problema nao é esse :p
Tou a enviar algo do tipo xxx.php?codigo=a&d
O código deve ser igual a "a&d", mas como o "&" é usado noutro contexto, quando leio a variavel apenas recebo "a". Ja experimentei colocar o "&" usando o codigo hexadecimal (ficava %20 se nao estou em erro), mas na leitura dá o mesmo problema (apenas le o "a").
A minha duvida é se há alguma maneira de contornar este problema.
Hum... tou a ver o dilema...
tens a função do php urlencode http://pt.php.net/manual/en/function.urlencode.php
que te pode ajudar a resolver isso. Outra solução, seria substituires os & por um caracter tipo "-" (utilizando o str_replace) e dps substituis por & quando precisas :)
born2hack
19-08-2006, 23:12
Hum... tou a ver o dilema...
tens a função do php urlencode http://pt.php.net/manual/en/function.urlencode.php
que te pode ajudar a resolver isso. Outra solução, seria substituires os & por um caracter tipo "-" (utilizando o str_replace) e dps substituis por & quando precisas :)
Essa é a solução actual, mas pouco eficiente, pois tambem tenho o º,ª,/ e outros que possam surgir.
O do url encode parece ser a soluçao. Ate vi la alguem com um problema semelhante ao meu apresentou uma soluçao porreira.
Thanks :D
born2hack
20-08-2006, 17:56
Ja agora se me quiseres arranjar a soluçao para implementar suporte para multiplas bases de dados :joking
Por acaso e algo que tenho que fazer, mas ainda nao tive tempo para sentar-me e pensar na soluçao (as tantas o google vai ajudar-me :p).
:) Por acaso tive de utilizar duas bases de dados diferentes, no mesmo site (site principal, está a utilizar uma db própria e a do fórum ao mesmo tempo)... basta fazeres $db1 = mysql_db_connect(xxxx) e $db2 = mysql_db_connect(xxx) para cada uma das bases de dados pretendidas.
born2hack
21-08-2006, 00:35
:) Por acaso tive de utilizar duas bases de dados diferentes, no mesmo site (site principal, está a utilizar uma db própria e a do fórum ao mesmo tempo)... basta fazeres $db1 = mysql_db_connect(xxxx) e $db2 = mysql_db_connect(xxx) para cada uma das bases de dados pretendidas.
Fosse esse o meu problema. O que me refiro sao as queries, que por exemplo no mysql e no postgresql sao ligeiramente diferentes. E preciso (eventualmente, nao vai ser agora) dar suporte as 2 (entre outras) base de dados. Da um bocado de trabalho, mas neste momento ha coisas mais urgentes a serem feitas do que isso :p
Thanks na mesma hehe
Bem, e se fizeres funções para os SELECT, UPDATE, INSERT e DELETE com switch, recebendo como argumento o tipo da base de dados, e os values a introduzir ou apagar, escolhendo consoante a base de dados pretendida o formato correcto?
born2hack
22-08-2006, 13:19
É uma ideia :) Thanks
PS: Irritante é no mySQL todos os valores irem entre '', e no postgreSQL os numeros terem que ir sem as ''. Porque nao seguem todos um standard? Geez..
Não são todos os valores, apenas os VARCHAR e os TEXT é que precisam '' :) e isso tb o postgreSQL, segundo as normas deve ter ;)
born2hack
23-08-2006, 11:04
Ai é? Isso entao ja é outra coisa. É que eu por habito no mySQL colocava '' em tudo e nunca tinha problemas. Assim ja se torna mais facil.
Ja agora, o mySQL suporta queries do tipo INSERT INTO tabela(valor1,valor4) VALUES(1,'abcd') ?
Sim, suporta :) e suporta mais simples:
INSERT INTO tabela values ('','asdasd'); -> caso o primeiro campo seja uma primary key e tenha um auto_increment
INSERT INTO tabela values (1,'asdasd'); -> caso o primeiro campo seja INT non auto_increment
INSERT INTO tabela values ('waza','asdasd'); -> caso o primeiro campo não seja uma primary key INT
Espero ter ajudado :up:
born2hack
23-08-2006, 13:11
Essa parte eu ja conhecia, mas o postgres nao suporta esse modo. Tenho que usar um que seja compativel pelos 2. Apos umas horas, ja remodulei as queries de modo a poder alterar a bd mais facilmente. Finalmente :p
born2hack
29-08-2006, 14:12
Tenho mais uma duvida, que nao sei se e possivel resolver.
Preciso de saber, com recurso a um script php, se o modulo mod_rewrite do apache foi carregado e se a directiva Overwrite All (tambem do apache) está activado. Em relação ao php, como posso saber se um dos modulos (neste caso o modulo do postgres) esta activado?
Podes utilizar o php_info() para saberes que módulos estão activos no server :)
vBulletin v3.8.7, Copyright ©2000-2012, Jelsoft Enterprises Ltd.