Marchelo 0 Denunciar post Postado Agosto 12, 2009 Pessoal, sou novo em PHP. Cada vez que concluo um cadastro no site aparece o erro abaixo: Warning: sprintf() [function.sprintf]: Argument number must be greater than zero in language/english/mails/new_item_seller_confirmation.php on line 80O codigo do arquivo acima esta agora abaixo, se alguém puder me ajudar agradeço. <? if ( !defined('INCLUDED') ) { die("Access Denied"); } $row_details = $db->get_sql_row("SELECT a.*, u.name AS user_name, u.email, u.mail_confirm_to_seller FROM " . DB_PREFIX . "auctions a LEFT JOIN " . DB_PREFIX . "users u ON u.user_id=a.owner_id WHERE a.auction_id='" . $mail_input_id . "'"); $send = ($row_details['mail_confirm_to_seller']) ? true : false; ## text message - editable $text_message = 'Dear %1$s, You have posted the following auction on %2$s: - auction name: %3$s - auction type: %4$s - quantity offered: %5$s - category: %6$s - additional category: %7$s - start price: %8$s - buy out price: %9$s - reserve price: %10$s - closing date: %11$s To view the auction details page, please click on the link below: %12$s Thank you for your submission. Best regards, The %13$s staff'; ## html message - editable $html_message = 'Dear %1$s, <br> <br> You have posted the following auction on <b>%2$s</b>: <br> <ul> <li>auction name: <b>%3$s</b> </li> <li>auction type: <b>%4$s</b> </li> <li>quantity offered: <b>%5$s</b> </li> </ul> <ul> <li>category: <b>%6$s</b> </li> <li>additional category: <b>%7$s</b> </li> </ul> <ul> <li>start price: <b>%8$s</b> </li> <li>buy out price: <b>%9$s</b> </li> <li>reserve price: <b>%10$s</b> </li> </ul> <ul> <li>closing date: <b>%11$s</b> </li> </ul> [ <a href="%12$s">Click here</a> ] to view the auction details page. <br> <br> Thank you for your submission. <br> <br> Best regards, <br> The %13$s staff'; $main_category = category_navigator($row_details['category_id'], false, true, null, null, GMSG_NONE_CAT); $addl_category = category_navigator($row_details['addl_category_id'], false, true, null, null, GMSG_NONE_CAT); $start_price = $fees->display_amount($row_details['start_price'], $row_details['currency']); $buyout_price = $fees->display_amount($row_details['buyout_price'], $row_details['currency']); $reserve_price = $fees->display_amount($row_details['reserve_price'], $row_details['currency']); $closing_date = show_date($row_details['end_time']); $auction_link = process_link('auction_details', array('name' => $row_details['name'], 'auction_id' => $row_details['auction_id'])); $text_message = sprintf($text_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); $html_message = sprintf($html_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); send_mail($row_details['email'], 'Auction Setup Confirmation', $text_message, $setts['admin_email'], $html_message, null, $send); ?> Compartilhar este post Link para o post Compartilhar em outros sites
spawn_owns 1 Denunciar post Postado Agosto 12, 2009 Tente trocar sprintf por print Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 12, 2009 Tente trocar sprintf por print Ok Vou trocar e logo mais posto a resposta. Grato Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 12, 2009 Tente trocar sprintf por print Spawn Troquei o código sprintf por print, apresentou o erro abaixo. Parse error: syntax error, unexpected ',' in .........../language/english/mails/new_item_seller_confirmation.php on line 80 Ai quando mudei o código para printf, o e-mail que deve ser enviado após cadastro do anúncio, printou na tela do computer. Ai coloquei novamente o código antigo, e voltou a aparecer Warning: sprintf() [function.sprintf]: Argument number must be greater than zero in /................./language/english/mails/new_item_seller_confirmation.php on line 80 Será que tem alguma linha de código que possa colocar, para solucionar, ele diz que o agurmento está em zero? Como pode a linha está cheia do código. Lamento é que sou novato no PHP. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 12, 2009 Veja que tem 2 sprintf. Qual deles está na linha 80? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 13, 2009 Veja que tem 2 sprintf. Qual deles está na linha 80? Carlos Eduardo Matias O Primeiro código sprintf está na linha 80 No aguardo Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 13, 2009 Tá... Então o problema está nos argumentos que vão pra função. Acredito que tenha alguma coisa errada na consulta... Vamos debugar... Coloque isto no seu código. echo '<br/>$row_details['user_name'] tem valor de '.$row_details['user_name']; echo '<br/>$setts['sitename'] tem valor de '. $setts['sitename']; echo '<br/>$row_details['name'] tem valor de '.$row_details['name']; echo '<br/>$row_details['auction_type'] tem valor de '.$row_details['auction_type']; echo '<br/>$row_details['quantity'] tem valor de '.$row_details['quantity']; echo '<br/>$main_category tem valor de '.$main_category; echo '<br/>$addl_category tem valor de '.$addl_category; echo '<br/>$start_price tem valor de '.$start_price; echo '<br/>$buyout_price tem valor de '.$buyout_price; echo '<br/>$reserve_price tem valor de '.$reserve_price; echo '<br/>$closing_date tem valor de '.$closing_date; echo '<br/>$auction_link tem valor de '.$auction_link; echo '<br/>$setts['sitename'] tem valor de '.$setts['sitename']; exit(); $text_message = sprintf($text_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); Posta aqui o que imprimir. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 13, 2009 Tá... Então o problema está nos argumentos que vão pra função. Acredito que tenha alguma coisa errada na consulta... Vamos debugar... Coloque isto no seu código. echo '<br/>$row_details['user_name'] tem valor de '.$row_details['user_name']; echo '<br/>$setts['sitename'] tem valor de '. $setts['sitename']; echo '<br/>$row_details['name'] tem valor de '.$row_details['name']; echo '<br/>$row_details['auction_type'] tem valor de '.$row_details['auction_type']; echo '<br/>$row_details['quantity'] tem valor de '.$row_details['quantity']; echo '<br/>$main_category tem valor de '.$main_category; echo '<br/>$addl_category tem valor de '.$addl_category; echo '<br/>$start_price tem valor de '.$start_price; echo '<br/>$buyout_price tem valor de '.$buyout_price; echo '<br/>$reserve_price tem valor de '.$reserve_price; echo '<br/>$closing_date tem valor de '.$closing_date; echo '<br/>$auction_link tem valor de '.$auction_link; echo '<br/>$setts['sitename'] tem valor de '.$setts['sitename']; exit(); $text_message = sprintf($text_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); Posta aqui o que imprimir. Carlos Eduardo Carlos Eduardo, Veja se fiz certo Apaguei a primeira linha que sprintf e coloquei o código acima, ai apareceu o seguinte erro abaixo Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /......../language/english/mails/new_item_seller_confirmation.php on line 80 Ai acabei tirando o código acima e deixei como estava, vou fazer outros testes ok Por Enquanto é só. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 13, 2009 Mal meu... esqueci de escapar as aspas simples... echo '<br/>$row_details[\'user_name\'] tem valor de '.$row_details['user_name']; echo '<br/>$setts[\'sitename\'] tem valor de '. $setts['sitename']; echo '<br/>$row_details[\'name\'] tem valor de '.$row_details['name']; echo '<br/>$row_details[\'auction_type\'] tem valor de '.$row_details['auction_type']; echo '<br/>$row_details[\'quantity\'] tem valor de '.$row_details['quantity']; echo '<br/>$main_category tem valor de '.$main_category; echo '<br/>$addl_category tem valor de '.$addl_category; echo '<br/>$start_price tem valor de '.$start_price; echo '<br/>$buyout_price tem valor de '.$buyout_price; echo '<br/>$reserve_price tem valor de '.$reserve_price; echo '<br/>$closing_date tem valor de '.$closing_date; echo '<br/>$auction_link tem valor de '.$auction_link; echo '<br/>$setts[\'sitename\'] tem valor de '.$setts['sitename']; exit(); $text_message = sprintf($text_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); Tenta agora Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 14, 2009 Mal meu... esqueci de escapar as aspas simples... echo '<br/>$row_details[\'user_name\'] tem valor de '.$row_details['user_name']; echo '<br/>$setts[\'sitename\'] tem valor de '. $setts['sitename']; echo '<br/>$row_details[\'name\'] tem valor de '.$row_details['name']; echo '<br/>$row_details[\'auction_type\'] tem valor de '.$row_details['auction_type']; echo '<br/>$row_details[\'quantity\'] tem valor de '.$row_details['quantity']; echo '<br/>$main_category tem valor de '.$main_category; echo '<br/>$addl_category tem valor de '.$addl_category; echo '<br/>$start_price tem valor de '.$start_price; echo '<br/>$buyout_price tem valor de '.$buyout_price; echo '<br/>$reserve_price tem valor de '.$reserve_price; echo '<br/>$closing_date tem valor de '.$closing_date; echo '<br/>$auction_link tem valor de '.$auction_link; echo '<br/>$setts[\'sitename\'] tem valor de '.$setts['sitename']; exit(); $text_message = sprintf($text_message, $row_details['user_name'], $setts['sitename'], $row_details['name'], $row_details['auction_type'], $row_details['quantity'], $main_category, $addl_category, $start_price, $buyout_price, $reserve_price, $closing_date, $auction_link, $setts['sitename']); Tenta agora Carlos Eduardo Boa Noite Carlos, Fiz a Mudança com o novo código, após cadastrar um anúncio a tela aparece o seguinte código na tela e não sai dela de jeito nenhum. $row_details['user_name'] tem valor de XXXXX $setts['sitename'] tem valor de XXXXXXXXXXXXXXXXXX $row_details['name'] tem valor de XXXXXXXXX $row_details['auction_type'] tem valor de standard $row_details['quantity'] tem valor de 1 $main_category tem valor de Anuncio XXXX $addl_category tem valor de -- nenhum -- $start_price tem valor de BRL 000,00 $buyout_price tem valor de BRL 000,00 $reserve_price tem valor de - $closing_date tem valor de 08 Oct. 2009 21:35:20 $auction_link tem valor de http://www.xxxxx.com.br/Anúncio Descrição,name,100023, auction_id,auction_details $setts['sitename'] tem valor de Tema do Site Acima só alterei os dados do anúncio para ser discreto ok Bem eu Até apaguei onde esta o código debug e coloque no final apenas o sprinf código que você criou e mesmo assim acontece o mesmo erro, vou fazer outros testes se tiver algum resultado positivo lhe informo. Grato Pela ajuda que vem dando. Marcelo Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 14, 2009 Tenta colocar aspa dupla no $text_message e no $html_message. Assim... $text_message = "Dear %1$s, You have posted the following auction on %2$s: - auction name: %3$s - auction type: %4$s - quantity offered: %5$s - category: %6$s - additional category: %7$s - start price: %8$s - buy out price: %9$s - reserve price: %10$s - closing date: %11$s To view the auction details page, please click on the link below: %12$s Thank you for your submission. Best regards, The %13$s staff"; Veja se resolve... Tentativa e erro... Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Marchelo 0 Denunciar post Postado Agosto 15, 2009 Tenta colocar aspa dupla no $text_message e no $html_message. Assim... $text_message = "Dear %1$s, You have posted the following auction on %2$s: - auction name: %3$s - auction type: %4$s - quantity offered: %5$s - category: %6$s - additional category: %7$s - start price: %8$s - buy out price: %9$s - reserve price: %10$s - closing date: %11$s To view the auction details page, please click on the link below: %12$s Thank you for your submission. Best regards, The %13$s staff"; Veja se resolve... Tentativa e erro... Carlos Eduardo Boa Noite, Carlos Fiz a Alteração apenas no jogo das ASPAS Dupla e deu certo o erro foi eliminado, fico muito grato. Já venho tentando descobrir esse erro a muito tempo, ainda ficarei bom em PHP. Grato Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 15, 2009 Beleza. Que bom que resolveu. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Baptista 0 Denunciar post Postado Agosto 3, 2013 Olá Matias, tudo bem? Me ocorreu um erro parecido com este que o Marchelo postou. Quando tiver um tempinho e puder dar uma olhada ficaria eternamente grato. Pois ninguém por enquanto conseguiu identificar. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Agosto 3, 2013 Crie um novo tópico explicando melhor, não use tópicos antigos para isso. Compartilhar este post Link para o post Compartilhar em outros sites