Jump to content
Daniivo

Carrinho de compras!

Recommended Posts

Daniivo

boa noite gente.

preciso de aplicar um carrinho de compras, visto isso, encontrei este tuturial:

http://www.portugal-a-programar.pt/index.php?showtopic=11615

no entanto deparo-me com vários bugs por exemplo o "<?" que da-me um erro deste género http://img150.imageshack.us/img150/4392/screen1eq2.png

como tb as variáveis nao estão a guardar valores. o que é que acham?  penso que seja derivado a isto

<?=
que nao faço ideia do que seja.

comp. daniivo

Share this post


Link to post
Share on other sites
scorch

Provavelmente terás de activar as short-tags.


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
brunoais

Provavelmente terás de activar as short-tags.

Ou substituir <?= por <?php echo

e substituir <? por <?php


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Daniivo
Provavelmente terás de activar as short-tags.

onde faço isso?? isso tem haver com o server apache?

Ou substituir <?= por <?php echo

e substituir <? por <?php

vcs sao sencacionais. o <? sabia que era o <?PHP, ou melhor nao sabia presumi e apos testar resolvi a maioria dos problemas, mas o = era o mesmo que "echo" nao imaginava...

obrigado pessoal!

++ após uma rápida procura:

Vc tem que alterar o arquivo php.ini para habilitar o short tags.

por enquanto, vc pode usar as tags do codigo php dessa forma:

<?php

?>

que vai funcionar..

Pra alterar, abra teu arquivo php.ini no bloco de notas, procure a linha:

short_open_tag = Off

e altere ela para:

short_open_tag = On

Reinicia teu servidor http e pode usar a vontade.. tongue.gif

Espero ter ajudado.

Share this post


Link to post
Share on other sites
Daniivo

boa tarde pessoal.

tenho aqui umas duvidas que gostava que alguém me esclarecesse.

estou a tentar passar valores por um link no entanto esse link vai ficar numa variável. enfim isto deve estar confuso. passo a exemplificar:

"index.php?mod=carrinho.php?cod=".$cod."&acao=incluir"

o Mod é a variável que vai actualizando o conteúdo do Div, que é o content neste caso!

"index.php?mod=carrinho" assim funciona, no entanto os valores nao passam logo nao insere nada no carrinho...

No brwoser:

Warning: include(includes/carrinho.php?cod=1.php) [function.include]: failed to open stream: No error in C:\xampp\htdocs\UltimateGames\Home\index.php on line 143

Warning: include() [function.include]: Failed opening 'includes/carrinho.php?cod=1.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\UltimateGames\Home\index.php on line 143

qual é a mente brilhante que me arranja uma solução simples ou complexa :thumbsup:

sem mais

comp. daniivo

Share this post


Link to post
Share on other sites
scorch

Isso tem a haver com o ficheiro não existe, pois estás a meter um .php no fim do include. :thumbsup:


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniivo

Isso tem a haver com o ficheiro não existe, pois estás a meter um .php no fim do include. :thumbsup:

Warning: include(includes/carrinho.php?cod=3) [function.include]: failed to open stream: No error in C:\xampp\htdocs\UltimateGames\Home\index.php on line 143

Warning: include() [function.include]: Failed opening 'includes/carrinho.php?cod=3' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\UltimateGames\Home\index.php on line 143

e agora?

alterei a forma como assedia a pagina, visto que, antes ele metia o php no fim automaticamente fiz de outra forma, no entanto o php deixa de estar no fim, mas o resultado é o mesmo.  😡

Share this post


Link to post
Share on other sites
scorch

Se leres, reparas que o que ele diz é que o ficheiro carrinho.php da pasta includes não existe.


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
socopo

Boas,

Não será que tás a fazer um mau uso da função include() ? Digo isto porque nunca vi ninguem a fazer um include a passar variáveis por GET. Acho eu que nem faz sentido!  :nono1:

P.s. Se fizer sentido peço desculpa  :thumbsup:

Share this post


Link to post
Share on other sites
Daniivo

Se leres, reparas que o que ele diz é que o ficheiro carrinho.php da pasta includes não existe.

"carrinho.php?cod=".$cod."&acao=incluir"

epah nao sei realmente assim funciona funciona!!!

"index.php?mod=carrinho.php" tb!!

mas ara passar valores tem que ser

"index.php?mod=carrinho.php?cod=".$cod."&acao=incluir"

Boas,

Não será que tás a fazer um mau uso da função include() ? Digo isto porque nunca vi ninguem a fazer um include a passar variáveis por GET. Acho eu que nem faz sentido!  :nono1:

P.s. Se fizer sentido peço desculpa  :thumbsup:

nao sei se tens razão lol eu tb nao sou pro nisto, no entanto estou a seguir o tuturial a cima e como tal tou a supor que é bom, para todos os efeitos sabes mais que eu, como também funciona :) a nivel de segurança ja e outra historia, mas nem me vou virar para esses lados :P

obrigado, se alguém tiver mais opiniões continuem a postar, pk nao faço ideia como resolver isto...

Share this post


Link to post
Share on other sites
socopo

nao sei se tens razão lol eu tb nao sou pro nisto, no entanto estou a seguir o tuturial a cima e como tal tou a supor que é bom, para todos os efeitos sabes mais que eu, como também funciona :thumbsup: a nivel de segurança ja e outra historia, mas nem me vou virar para esses lados :)

obrigado, se alguém tiver mais opiniões continuem a postar, pk nao faço ideia como resolver isto...

Funciona?! Eu se visse lá isso no tutorial até me acreditava mas não encontro.

O include() serve apenas para pegar no conteúdo de um ficheiro/página e colar no nosso código, é basicamente isso que faz. Pelo que tu escreveste parece-me que tás à espera que ele faça mais alguma coisa  :P

Mostra o bloco de código que origina o erro e explica o que é suposto fazer em geral que eu ajudo-te, não é preciso explicar tim tim por tim tim mas convém que digas os pormenores  😎

Share this post


Link to post
Share on other sites
Daniivo

Funciona?! Eu se visse lá isso no tutorial até me acreditava mas não encontro.

O include() serve apenas para pegar no conteúdo de um ficheiro/página e colar no nosso código, é basicamente isso que faz. Pelo que tu escreveste parece-me que tás à espera que ele faça mais alguma coisa  :thumbsup:

Mostra o bloco de código que origina o erro e explica o que é suposto fazer em geral que eu ajudo-te, não é preciso explicar tim tim por tim tim mas convém que digas os pormenores  😎

lol tu nao percebes-te!

o include nesta situação penas serve para substituir o conteúdo de um DiV, ou seja quando escolho produto, o div content vai para o carrinho de compras!!

neste caso é mais complicado devido as variáveis!!

qual é o código que pretendes ver?? o que esta a  originar o erro é o postado em cima!

<?php

        if(empty($_GET["mod"]))  // (aqui fica a linha 2)

                $mod = "main.php";

        else

                $mod = $_GET["mod"];

     

?>

<?php

include("includes/$mod");

?>

  echo "<td><div align='center' style='font-size:10px;font-family:Verdana'><strong><a href='index.php?mod=carrinho.php?cod=".$cod."&acao=incluir'>".$nome."</a></strong></div><strong><div align='center'><font color='#FF0000' size='4px'>  ".$preco." € </font></strong></div></td>";

Share this post


Link to post
Share on other sites
brunoais

ALARME DE FALHA DE SEGURANÇA MUITO GRAVE

<?php
        if(empty($_GET["mod"]))  // (aqui fica a linha 2)
                $mod = "main.php";
        else
                $mod = $_GET["mod"];
       
?>
//...
<?php
      include("includes/$mod");                   
    ?>

Isto pode originar problemas sem precedentes. E permite que quem esteja a atacar aceda a qualquer página, ficheiro, qq coisa q esteja no servidor.

Faz filtragem da variável usando um switch ou altera como o sistema funciona

ADD:

Warning: include() [function.include]: Failed opening 'includes/carrinho.php?cod=3' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\UltimateGames\Home\index.php on line 143

A causa é simples: o ficheiro "carrinho.php?cod=3" não existe. Acredito que o ficheiro carrinho.php exista mas o ficheiro "carrinho.php?cod=3" não existe. Experimenta declarar uma var antes de incluir esse ficheiro para gravar essa info.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
socopo

Pronto tudo bem, continuo a achar que não podes passar valores por GET na função include() porque não faz sentido :thumbsup:

Mas se por acaso der:

em vez do segundo "?" põe %3F que é o código desse caracter (não garanto que funcione, é apenas uma tentativa).

Para o caso eu estar correcto em relação ao GET a passar po include()  :cheesygrin:

porque não declarar o que queres passar po conteúdo antes de fazer o include? No ficheiro que fazes o include depois era só usar essa variável!!

Por exemplo:

index.php

$var =2;
include("a.php");
echo $var;

include("b.php");
echo ",".$var;

a.php

$var +=3;

b.php

$var -=1;

Executa index.php

output:

5,4

Share this post


Link to post
Share on other sites
Daniivo

ALARME DE FALHA DE SEGURANÇA MUITO GRAVE

<?php
        if(empty($_GET["mod"]))  // (aqui fica a linha 2)
                $mod = "main.php";
        else
                $mod = $_GET["mod"];
       
?>
//...
<?php
      include("includes/$mod");                   
    ?>

Isto pode originar problemas sem precedentes. E permite que quem esteja a atacar aceda a qualquer página, ficheiro, qq coisa q esteja no servidor.

Faz filtragem da variável usando um switch ou altera como o sistema funciona

ADD:A causa é simples: o ficheiro "carrinho.php?cod=3" não existe. Acredito que o ficheiro carrinho.php exista mas o ficheiro "carrinho.php?cod=3" não existe. Experimenta declarar uma var antes de incluir esse ficheiro para gravar essa info.

apos precionar o F5 fiquei arregalado com a frase que metes-te ai lol.

vamos entao passar para miudinhos! tas ma dizer que isto

<?php
        if(empty($_GET["mod"]))  // (aqui fica a linha 2)
                $mod = "main.php";
        else
                $mod = $_GET["mod"];
       
?>
//...
<?php
      include("includes/$mod");                   
    ?>

funciona mas nao presta???

Faz filtragem da variável usando um switch ou altera como o sistema funciona.  😲

Mas se por acaso der:

em vez do segundo "?" põe %3F que é o código desse caracter (não garanto que funcione, é apenas uma tentativa).

boa tentativa :thumbsup: dont work

Share this post


Link to post
Share on other sites
socopo

ADD:A causa é simples: o ficheiro "carrinho.php?cod=3" não existe. Acredito que o ficheiro carrinho.php exista mas o ficheiro "carrinho.php?cod=3" não existe. Experimenta declarar uma var antes de incluir esse ficheiro para gravar essa info.

O brunoais falou bem, "carrinho.php?cod=3" não existe!!! é esse o problema...

http://php.net/manual/en/function.include.php

Ok, depois de ler por alto isto fiquei confuso, e parece que dá para fazer algo parecido com o que tás a fazer. Tens que por o caminho completo para que o php seja executado (vais fazer o include usando http), tens que fazer algo como

include("http://localhost/dir/carrinho.php?cod=3");

Atenção que com esse include vais obter apenas o output disso! Mas se for isso que já tavas à espera isso resolve-te o problema  :cheesygrin: lol

Share this post


Link to post
Share on other sites
Daniivo

O brunoais falou bem, "carrinho.php?cod=3" não existe!!! é esse o problema...

http://php.net/manual/en/function.include.php

Ok, depois de ler por alto isto fiquei confuso, e parece que dá para fazer algo parecido com o que tás a fazer. Tens que por o caminho completo para que o php seja executado (vais fazer o include usando http), tens que fazer algo como

include("http://localhost/dir/carrinho.php?cod=3");

Atenção que com esse include vais obter apenas o output disso! Mas se for isso que já tavas à espera isso resolve-te o problema  :cheesygrin: lol

possa que truques!!

achas que o que falas-te a bocado inserir valores em variáveis e depois azulas, funcionava?? por outras palavras, qual ela a tua resolução para este problema?

Share this post


Link to post
Share on other sites
Daniivo

Esse tutorial devia era ser apagado.

lo0l boa intervenção!!

mas nao me deixes de mãos a abanar arranja-me outro!!

no google procuras é esse o 1º que te aparece :thumbsup:

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.