Comunidad de diseño web y desarrollo en internet online

La página aparece vacia! (PHP)

Citar            
MensajeEscrito el 24 Ago 2006 08:28 am
Pues me puse a modificar algunos archivos de Oscommerce para cambiar el diseño del email que se envia a los clientes que han comprado. El problema es que después de modificarlos cuando acabo de hacer todo el proceso de compra, y teóricamente tienes que volver ala tienda, lo que ocurre es que aparece el archivo en blanco. En Dirección pone toda la ruta completa más las variables. Pero no aparece nada de nada. Es como si hubiera desaparecido la página.

Alguien se le ocurre que puede estar ocurriendo? Puede ser un problema de codificación UTF-8 cuando modifiqué los archivos include del lenguaje?

Para más inri, he intentado dejar todo como estaba, y no funciona... :?
:?
:(
:oops:
:shock:
:wtf:
:ownz:

¿Que tipo de errores se producen cuando ocurre eso?

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox
Citar            
MensajeEscrito el 24 Ago 2006 12:27 pm
juegas con PHP4 y php5 al mismo tiempo?

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 24 Ago 2006 01:58 pm

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Ago 2006 04:02 pm
No, yo uso "<?php"

Es algo más raro. Ahora he avanzado algo al sustituir los archivos modificados por los originales y, es una variable de seguridad que no exixte (aunque si que existe, algo parecido a GAIA)

Gracias de todas formas, ya os informo cuando consiga avanzar en algo...



:roll:

:)

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell



Ultima edición por Sisco el 24 Ago 2006 04:29 pm, editado 1 vez

Catalunya

firefox
Citar            
MensajeEscrito el 24 Ago 2006 04:29 pm
Para ser exactos es esto:

...
$ds_merchantcode=$_REQUEST['Ds_MerchantCode'];
$ds_terminal=$_REQUEST['Ds_Terminal'];
$ds_signature=$_REQUEST['Ds_Signature'];
$ds_response=$_REQUEST['Ds_Response'];
$ds_transactiontype=$_REQUEST['Ds_TransactionType'];
$ds_securepayment=$_REQUEST['Ds_SecurePayment'];
$ds_merchantdata=$_REQUEST['Ds_MerchantData'];

$sha = new SHA;
$message = $ds_amount.$ds_order.$ds_merchantcode.$ds_currency.$ds_response.$seed;

$digest1 = $sha->hash_string($message);
$signature = strtoupper ($sha->hash_to_string( $digest1 ));

if ($signature!=$ds_signature)
{
//El proceso no puede ser completado, error de autenticación
die ("Hacking atempt!");
}

...


Y lo que está en negrita es el mensaje que me sale, en fin por lo menos ahora tengo algo para solucionar... :)

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox
Citar            
MensajeEscrito el 25 Ago 2006 11:01 am
Sisco, no se si será coincidencia pero a mí me ocurrió implementando un blog dentro de un website, solo veía la cabecera vacia o nada y otros podían verlo bien. Lo arregle borrando cookies y todo lo posible en Firefox (cache etc) y ya iba. Parce una tonteria pero pruebalo, porque a mi me tuvo medio día buscando el error.

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 25 Ago 2006 02:28 pm
Ya lo hice! :)

Ahora he pasado a otra fae, el mensaje ese ya no me sale, ahora me devualve a la tienda, pero no me contabiliza el pedido. Aunque sí en la pasarela de "La Caixa" pero no en la cuanta del cliente.

Así que poco a poco voy corrigiendo. Creo que todo se debe al formato de codificación de los textos, UTF-8 y ISO-8859-1, ya que modifiqué directamente en el servidor algunos archivos y ahí empezó todo. Después también me he dado cuenta que si pongo los nombres en mayúsculas (que ya lo hice expresamente) no me funcionaba todo un módulo. En fin, cosas de la informática y del desconocimiento... que le vamos ha hacer... :P

Saludos! :wink:

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox
Citar            
MensajeEscrito el 30 Ago 2006 06:00 pm
Bueno, señores, ya he solucionado el tema este es decir, ahora realizo el pedido con normalidad, accedo a la pasarela de pago, y ...ahora, tengo otro problema más jodido:

No funciona en Firefox! :shock:

Código :

javascript:cerrar('http://nombredominio.eu/./caixa_sermepa_process.php?Ds_Date=30%2F08%2F2006&Ds_Hour=18%3A34&Ds_SecurePayment=1&Ds_Amount=3083&Ds_Currency=978&Ds_Order=11156955555&Ds_MerchantCode=269689449&Ds_Terminal=002&Ds_Signature=1EB2D712C94A221F2BB0CA3B3519A256A3D75369&Ds_Response=0000&Ds_TransactionType=0&Ds_MerchantData=c3129b08d73b04ab87b68e26bcc86f9f&Ds_AuthorisationCode=074789&Ds_ConsumerLanguage=1')

Éste es el retorno que funciona con IE y
No funciona en Firefox! :shock:

El archivo que recoge las variables es el caixa_sermepa_process.php y contiene:

Código :

<?php 

if (!empty($_GET['Ds_MerchantData'])) $_GET['osCsid']=$_POST['Ds_MerchantData']; 
include('includes/application_top.php'); 
require('admin/includes/languages/espanol/orders.php'); 
require('includes/languages/espanol/checkout_process.php'); 

// load selected payment module 
require(DIR_WS_CLASSES . 'payment.php'); 
$payment_modules = new payment($payment); 


$seed=MODULE_PAYMENT_CAIXA_SERMEPA_ID_SEED; 

$ds_date=$_GET['Ds_Date']; 
$ds_hour=$_GET['Ds_Hour']; 
$ds_amount=$_GET['Ds_Amount']; 
$ds_currency=$_GET['Ds_Currency']; 
$ds_order=$_GET['Ds_Order']; 
$ds_merchantcode=$_GET['Ds_MerchantCode']; 
$ds_terminal=$_GET['Ds_Terminal']; 
$ds_signature=$_GET['Ds_Signature']; 
$ds_response=$_GET['Ds_Response']; 
$ds_transactiontype=$_GET['Ds_TransactionType']; 
$ds_securepayment=$_GET['Ds_SecurePayment']; 
$ds_merchantdata=$_GET['Ds_MerchantData']; 

$sha = new SHA; 
$message = $ds_amount.$ds_order.$ds_merchantcode.$ds_currency.$ds_response.$seed; 

$digest1 = $sha->hash_string($message); 
$signature = strtoupper ($sha->hash_to_string( $digest1 )); 

if ($signature!=$ds_signature) 
{ 
//El proceso no puede ser completado, error de autenticación 
die ("Hacking atempt!"); 
} 

$iresponse=(int)$ds_response; 

if (($iresponse>=0) && ($iresponse<=99)) 
{ 
//Transacción aprobada 
// load the selected shipping module 
require(DIR_WS_CLASSES . 'shipping.php'); 
$shipping_modules = new shipping($shipping); 

require(DIR_WS_CLASSES . 'order.php'); 
$order = new order; 
require(DIR_WS_CLASSES . 'order_total.php'); 
$order_total_modules = new order_total; 

$order_totals = $order_total_modules->process(); 

$sql_data_array = array('customers_id' => $customer_id, 
'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 
'customers_company' => $order->customer['company'], 
'customers_street_address' => $order->customer['street_address'], 
'customers_suburb' => $order->customer['suburb'], 
'customers_city' => $order->customer['city'], 
'customers_postcode' => $order->customer['postcode'], 
'customers_state' => $order->customer['state'], 
'customers_country' => $order->customer['country']['title'], 
'customers_telephone' => $order->customer['telephone'], 
'customers_email_address' => $order->customer['email_address'], 
'customers_address_format_id' => $order->customer['format_id'], 
'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 
'delivery_company' => $order->delivery['company'], 
'delivery_street_address' => $order->delivery['street_address'], 
'delivery_suburb' => $order->delivery['suburb'], 
'delivery_city' => $order->delivery['city'], 
'delivery_postcode' => $order->delivery['postcode'], 
'delivery_state' => $order->delivery['state'], 
'delivery_country' => $order->delivery['country']['title'], 
'delivery_address_format_id' => $order->delivery['format_id'], 
'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 
'billing_company' => $order->billing['company'], 
'billing_street_address' => $order->billing['street_address'], 
'billing_suburb' => $order->billing['suburb'], 
'billing_city' => $order->billing['city'], 
'billing_postcode' => $order->billing['postcode'], 
'billing_state' => $order->billing['state'], 
'billing_country' => $order->billing['country']['title'], 
'billing_address_format_id' => $order->billing['format_id'], 
'payment_method' => $order->info['payment_method'], 
'cc_type' => $order->info['cc_type'], 
'cc_owner' => $order->info['cc_owner'], 
'cc_number' => $order->info['cc_number'], 
'cc_expires' => $order->info['cc_expires'], 
'date_purchased' => 'now()', 
'orders_status' => $order->info['order_status'], 
'currency' => $order->info['currency'], 
'currency_value' => $order->info['currency_value']); 
tep_db_perform(TABLE_ORDERS, $sql_data_array); 
$insert_id = tep_db_insert_id(); 
for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { 
$sql_data_array = array('orders_id' => $insert_id, 
'title' => $order_totals[$i]['title'], 
'text' => $order_totals[$i]['text'], 
'value' => $order_totals[$i]['value'], 
'class' => $order_totals[$i]['code'], 
'sort_order' => $order_totals[$i]['sort_order']); 
tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); 
} 

$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0'; 
$sql_data_array = array('orders_id' => $insert_id, 
'orders_status_id' => $order->info['order_status'], 
'date_added' => 'now()', 
'customer_notified' => $customer_notification, 
'comments' => $order->info['comments']); 
tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); 

// initialized for the email confirmation 
$products_ordered = ''; 
$subtotal = 0; 
$total_tax = 0; 

for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { 
// Stock Update - Joao Correia 
if (STOCK_LIMITED == 'true') { 
if (DOWNLOAD_ENABLED == 'true') { 
$stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename 
FROM " . TABLE_PRODUCTS . " p 
LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa 
ON p.products_id=pa.products_id 
LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad 
ON pa.products_attributes_id=pad.products_attributes_id 
WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"; 
// Will work with only one option for downloadable products 
// otherwise, we have to build the query dynamically with a loop 
$products_attributes = $order->products[$i]['attributes']; 
if (is_array($products_attributes)) { 
$stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'"; 
} 
$stock_query = tep_db_query($stock_query_raw); 
} else { 
$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); 
} 
if (tep_db_num_rows($stock_query) > 0) { 
$stock_values = tep_db_fetch_array($stock_query); 
// do not decrement quantities if products_attributes_filename exists 
if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { 
$stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty']; 
} else { 
$stock_left = $stock_values['products_quantity']; 
} 
tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); 
if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) { 
tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); 
} 
} 
} 

// Update products_ordered (for bestsellers list) 
tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); 

$sql_data_array = array('orders_id' => $insert_id, 
'products_id' => tep_get_prid($order->products[$i]['id']), 
'products_model' => $order->products[$i]['model'], 
'products_name' => $order->products[$i]['name'], 
'products_price' => $order->products[$i]['price'], 
'final_price' => $order->products[$i]['final_price'], 
'products_tax' => $order->products[$i]['tax'], 
'products_quantity' => $order->products[$i]['qty']); 
tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); 
$order_products_id = tep_db_insert_id(); 

//------insert customer choosen option to order-------- 
$attributes_exist = '0'; 
$products_ordered_attributes = ''; 
if (isset($order->products[$i]['attributes'])) { 
$attributes_exist = '1'; 
for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { 
if (DOWNLOAD_ENABLED == 'true') { 
$attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename 
from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa 
left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad 
on pa.products_attributes_id=pad.products_attributes_id 
where pa.products_id = '" . $order->products[$i]['id'] . "' 
and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' 
and pa.options_id = popt.products_options_id 
and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' 
and pa.options_values_id = poval.products_options_values_id 
and popt.language_id = '" . $languages_id . "' 
and poval.language_id = '" . $languages_id . "'"; 
$attributes = tep_db_query($attributes_query); 
} else { 
$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); 
} 
$attributes_values = tep_db_fetch_array($attributes); 

$sql_data_array = array('orders_id' => $insert_id, 
'orders_products_id' => $order_products_id, 
'products_options' => $attributes_values['products_options_name'], 
'products_options_values' => $attributes_values['products_options_values_name'], 
'options_values_price' => $attributes_values['options_values_price'], 
'price_prefix' => $attributes_values['price_prefix']); 
tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); 

if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) { 
$sql_data_array = array('orders_id' => $insert_id, 
'orders_products_id' => $order_products_id, 
'orders_products_filename' => $attributes_values['products_attributes_filename'], 
'download_maxdays' => $attributes_values['products_attributes_maxdays'], 
'download_count' => $attributes_values['products_attributes_maxcount']); 
tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); 
} 
$products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name']; 
} 
} 
//------insert customer choosen option eof ---- 
$total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); 
$total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty']; 
$total_cost += $total_products_price; 

$products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n"; 
} 

// lets start with the email confirmation 
$email_order = STORE_NAME . "\n" . 
EMAIL_SEPARATOR . "\n" . 
EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . 
EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" . 
EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; 
if ($order->info['comments']) { 
$email_order .= tep_db_output($order->info['comments']) . "\n\n"; 
} 
$email_order .= EMAIL_TEXT_PRODUCTS . "\n" . 
EMAIL_SEPARATOR . "\n" . 
$products_ordered . 
EMAIL_SEPARATOR . "\n"; 

for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { 
$email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; 
} 

if ($order->content_type != 'virtual') { 
$email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . 
EMAIL_SEPARATOR . "\n" . 
tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n"; 
} 

$email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . 
EMAIL_SEPARATOR . "\n" . 
tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n"; 
if (is_object($$payment)) { 
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
EMAIL_SEPARATOR . "\n"; 
$payment_class = $$payment; 
$email_order .= $payment_class->title . "\n\n"; 
if ($payment_class->email_footer) { 
$email_order .= $payment_class->email_footer . "\n\n"; 
} 
} 
tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); 

// send emails to other people 
if (SEND_EXTRA_ORDER_EMAILS_TO != '') { 
tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); 
} 

// load the after_process function from the payment modules 
$payment_modules->after_process(); 

$cart->reset(true); 

// unregister session variables used during checkout 
tep_session_unregister('sendto'); 
tep_session_unregister('billto'); 
tep_session_unregister('shipping'); 
tep_session_unregister('payment'); 
tep_session_unregister('comments'); 

tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); 
} 
else 
{ 
$errors=array(); 
$errors[101]='Tarjeta caducada'; 
$errors[102]='Tarjeta bloqueada por el banco emisor'; 
$errors[107]='Orden de contactar con el banco emisor de la tarjeta'; 
$errors[180]='Tarjeta no soportada por el sistema'; 
$errors[184]='Autenticación del titular de la tarjeta fallida'; 
$errors[190]='Denegada por el banco emisor de la tarjeta por diversos motivos'; 
$errors[201]='Tarjeta caducada. Orden de retirar la tarjeta'; 
$errors[202]='Tarjeta bloqueada por el banco emisor. Orden de retirar la tarjeta'; 
$errors[290]='Denegada por diversos motivos. Orden de retirar la tarjeta'; 
$errors[909]='Error de sistema'; 
$errors[912]='Centro resolutor no disponible'; 
$errors[913]='Recibido mensaje duplicado'; 
$errors[949]='Fecha de caducidad de la tarjeta errónea'; 
$errors[9111]='Banco emisor de la tarjeta no responde'; 
$errors[9093]='Número de tarjeta inexistente'; 
$errors[9112]='Número de tarjeta inexistente'; 
//Transacción denegada 
$error=$errors[$iresponse]; 
if ($error=="") $error="Error desconocido ($iresponse)"; 
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false)); 
} 

?> 


Con IE lo que hace es realizar el pedido en la tienda, y enviar, como se puede ver en el codigo, un email al cliente, mostrando una página donde puede elegir que le envien información si selecciona la casilla de verificación correspondiente, y enb la url se puede ver:
http://nombredominio.eu/./checkout_success.php

Pues bien:
No funciona en Firefox! :shock:

Y lo que ocurre es que muestra esto en la url: http://nombredominio.eu/shopping_cart.php?osCsid=

Lo cual quiere decir que pierde la "sesión" y es como si no se hubiera comprado nada, ya que el mensaje que pone es "la cesta está vacia" en resumen: ¡No funciona en Firefox! :shock:

No funciona en Firefox! :shock: y lo peor

NO SE PORQUEEE E E E E E E EEEEEEEE!!!!! :twisted: :twisted: :twisted: :twisted: :twisted:

:shock: :shock: :shock: :shock: :shock:

:? alguna idea?

Por Sisco

BOFH

3700 de clabLevel

12 tutoriales
4 articulos

Genero:Masculino   Bastard Operators From Hell

Catalunya

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.