Foros del Web » Programando para Internet » PHP »

duda con un "if"

Estas en el tema de duda con un "if" en el foro de PHP en Foros del Web. que tal gente!!! he estado buscando por la web como poder arreglar esto pero no encuentro nada. encontre un carrito de compra en internet y ...
  #1 (permalink)  
Antiguo 20/05/2010, 17:45
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 7 meses
Puntos: 0
duda con un "if"

que tal gente!!!

he estado buscando por la web como poder arreglar esto pero no encuentro nada.

encontre un carrito de compra en internet y lo estoy tratando de adaptar a mis necesidades, en el ejemplo usan una tabla que entre algunos otros campos maneja el campo "serial" de tipo int() autoincrement

con este campo se manda el id del registro, (1,2,3,4,......) asi consecutivamente.

al dar clic sobre el boton "agregar"

<input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" />

manda llamar una funcion:

function addtocart(pid){
document.form1.productid.value=pid;
document.form1.command.value='add';
document.form1.submit();

y entra en un if

if($_REQUEST['command']=='add' && $_REQUEST['productid']>0){
$pid=$_REQUEST['productid'];
addtocart($pid,1);
header("location:shoppingcart.php");


en el $_REQUEST['prodcutid'] manda el serial (1,2,3,4, o cualquier otro numero) y que si es mayor a 0 le va a asignar ese valor a $pid

el problema que tengo es que en mi tabla, el campo "serial" lo tengo como varchar y guardo palabras como: "fruara01" y al momento de mandar el array, pues no lo manda porque no reconoce el "serial"

como puedo cambiar $_REQUEST['productid']>0 de manera que me reconozca que no solo es un numero sino que tambien tiene letras??


lo he puesto asi: $_REQUEST['productid']!= ' '
pero tampoco me funciona.

alguna idea??
gracias de antemano
  #2 (permalink)  
Antiguo 21/05/2010, 00:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duda con un "if"

Que metodo tienes definido en el formulario, get o post?

Te sugiero que en lugar de $_REQUEST uses $_GET o $_POST, dependiendo del caso; no es que sea mas optimo ni que agregue seguridad al script, simplemente ayuda a controlar desde donde deben llegar los datos.

Ahora, sobre tu duda, prueba echo $_REQUEST['productid']; para saber que es lo que estas recibiendo en esa variable... si es que estas recibiendo algo, si no, entonces coloca aqui tambien tu formulario para tratar de averiguar que esta pasando.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 21/05/2010, 10:21
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: duda con un "if"

que tal triby, gracias por responder.

mira el formulario esta asi:

<form name="form1">
<input type="hidden" name="productid" />
<input type="hidden" name="command" />
</form>

y luego abajo viene una tabla:

<div align="center">
<h1 align="center">Products</h1>
<table border="0" cellpadding="2px" width="600px">
<?
$result=mysql_query("select serial, picture, name, description, price from products");

while($row=mysql_fetch_array($result)){
?>
<tr>
<td><img src="<?=$row['picture']?>" /></td>
<td> <b><?=$row['name']?></b><br />
<?=$row['description']?><br />
Price:<big style="color:green">
$<?=$row['price']?></big><br /><br />
<input type="button" value="Add to Cart" onclick="addtocart(<?=$row['serial']?>)" />
</td>
</tr>
<tr><td colspan="2"><hr size="1" /></td>
<? } ?>
</table>
</div>

y dentro de este mismo archivo, manda llamar la funcion que prviamente he colocado,
function addtocart(pid)

al apretar el boton, se manda el serial que esta almacenado en la tabla


serial | name | description | price | picture
1 | View Sonic LCD | 19" View Sonic Black LCD, | 250 | images/lcd.jpg
2 | IBM CDROM Drive | IBM CDROM Drive | 80 | images/cdrom.jpg
3 | Charger | Laptop Charger | 50 | images/charger.jpg

y asi es como se manda el producto al carrito de compras, pero si en serial pongo fruace01, no lo manda.

y pues eso es lo que tengo.
gracias nevamente
  #4 (permalink)  
Antiguo 21/05/2010, 11:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duda con un "if"

Bueno, seguramente no funciona porque el formulario no tiene definido accion ni metodo:

<form method="post" action="archivo.php" name="nombre">

Metodo: post o get, dependiendo de esto la variable quedara disponible en $_POST o $_GET y, para quienes no les importa de donde vengan los datos, tambien en $_REQUEST

Accion: Hay que definir el script que procesara el formulario.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 21/05/2010, 12:05
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: duda con un "if"

nuevamente gracias por responder triby

el carrito si funciona, lo baje y lo instale tal cual con su base de datos, y si funciona, el problema es que ahi usan "serial" como int y yo lo necesito como varchar, te pongo la pagina de donde lo baje para que si puedes y tienes tiempo lo cheques

http://www.qualitycodes.com/tutorial...ng-cart-in-PHP

gracias nuevamente
  #6 (permalink)  
Antiguo 21/05/2010, 12:25
Avatar de Netfrank  
Fecha de Ingreso: marzo-2006
Ubicación: Las Talitas - Tucumán
Mensajes: 226
Antigüedad: 18 años, 1 mes
Puntos: 3
Respuesta: duda con un "if"

Tienes que darle el formato que necesites para tu sistema. A la hora de hacer la consulta a la base de datos debes separar el ID de la palabra "fruace". Creo que podrías transformarlo a entero, algo así:

Código PHP:
$id round($clave_actual); 
Y si por algún motivo no te sirve esto, supongo que te convendría crear un campo nuevo en tu tabla de productos...
__________________
-- Franco D. Ocaranza
-- [email protected]
-- http://www.jmqv.com.ar/
  #7 (permalink)  
Antiguo 21/05/2010, 12:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: duda con un "if"

Viendo tu codigo con mucho gusto te puedo sugerir donde buscar el error, pero... si ni siquiera te interesa hacer la prueba... creeme, mas no puedo hacer, no voy a descargar un script para hacer tu trabajo... tal vez despues vuelvas a ignorar mis sugerencias y me digas "Es que asi funciona donde lo descargue".

Notas:
Sabias que en HTML y Javascript todos los campos de formulario son manejados como alfanumericos? Ni se enteran del tipo de dato que usas para guardar en base de datos.

El uso de <? en lugar de <?php no esta recomendado porque la mayoria de servidores no tienen activa la opcion de short tags y, de hecho, esta caracteristica desaparecera en proximas versiones de PHP.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 21/05/2010, 12:42
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: duda con un "if"

gracias a ambos por responder, tomare en cuenta ambas respuestas

el hecho de que haya puesto la pagina de donde lo saque no era con el objetivo de que me hagan el trabajo completo, la puse porque pense que tal vez seria mejor que vieran el codigo completo y no solo lo que yo les pongo porque tal vez el error no este ahi, pero bueno, seguire buscando como solucionarlo.

nuevamente gracias por sus respuestas

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:50.