Ver Mensaje Individual
  #10 (permalink)  
Antiguo 26/08/2008, 02:47
Avatar de DooBie
DooBie
 
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 22 años
Puntos: 71
Respuesta: me lo procesa aun estar el valor en blanco

Cita:
Iniciado por ^engonga^ Ver Mensaje
hola tengo un fichero que me procesa un pedido

Código PHP:
<?
include ("admin/localhost.php");
$pago = $_GET["pago"];
if (
$pago == "2")
{
    
header("Location: carrito-ok2.php");
    
end;
}
foreach (
$_GET as $nombre_campo => $valor)
{
    
$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
    eval(
$asignacion);
}
$userid = $_SESSION['privado'];
if (
$userid != "") {
$result = mysql("$database_localhost", "Select * From opciones where id = 1", $localhost);
$row = @mysql_fetch_array($result);
$certificado = $row[certificado];
$asegurado = $row[asegurado];
$result = mysql("$database_localhost", "Select * From empresas where id = '$userid'",
    
$localhost);
$row = @mysql_fetch_array($result);
$empresa = $row[nombre];
$email2 = $row[email];
$direccion = $row[direccion];
$localidad = $row[localidad];
$provincia = $row[provincia];
$cp = $row[cp];
$telefono = $row[telefono];
$dni = $row[dni];
$email = "[email protected]";
//$email="[email protected]";
$from = "From: QuatroMuebles.com<[email protected]>\r\nReply-To: [email protected]\r\nReturn-path: [email protected]\r\n";
$asunto = "Nuevo pedido desde la web";
$asunto2 = "Copia de su pedido a QuatroMuebles.com";
$texto = "
Nombre: $empresa
DNI: $dni
Email: $email2
Dirección: $direccion
Localidad: $localidad
Provincia: $provincia
Código Postal: $cp
Teléfono: $telefono
DATOS DEL PEDIDO
"
;
$total1 = "0";
$result = mysql("$database_localhost", "Select * From carrito where cliente = $userid",
    
$localhost);
while (
$row = @mysql_fetch_array($result))
{
    
$cantidad = $row[cantidad];
    
$prodid = $row[producto];
    
$id = $row[id];
    
$result2 = mysql("$database_localhost", "Select * From muebles where id = $prodid",
        
$localhost);
    
$row2 = @mysql_fetch_array($result2);
    
$nombre = $row2[nombre];
    
$precio = number_format($row2[pvd], 2, ",", ".");
    
$total = $row2[precio] * $cantidad;
    
$total2 = number_format($total, 2, ",", ".");
    
$total1 = $total1 + $total;
    
$texto .= $cantidad . " " . $nombre . " (" . $total2 . ")
"
;
}
$total1 = $total1 + $certificado;
$envio = "Gastos de envío: " . $certificado . " Euros";
$texto .= "
Forma de Envío: $envio
TOTAL PEDIDO: " 
. number_format($total1, 2, ",", ".");
$fecha = date(Ymd);
if (
$empresa != ""){
mysql("$database_localhost", "insert into pedidos (pedido,fecha) values ('$texto','$fecha')");
$idmailpedido = mysql_insert_id();
$aviso = "
Para completar su pedido, deberá realizar un ingreso o transferencia bancaria por el total de su pedido (indicando el número de éste: $idmailpedido) en alguna de las siguientes cuentas:
La Caixa: 2100 2127 11 02000320483
Para agilizar la tramitación, puede enviar una copia de su ingreso o transferencia vía fax al 91 544 50 07 o por e-mail a: [email protected]."
;
$texto .="
NUMERO DE PEDIDO: $idmailpedido"
;}
//ENVIANDO A CLIENTE
if ($empresa != ""){
mail($email2, $asunto2, $texto . $aviso, $from);
$fecha = date(Ymd);
mysql("$database_localhost", "insert into pedidos (pedido,fecha) values ('$texto','$fecha')");
$idmailpedido = mysql_insert_id();
$texto .= "
Hay una copia de seguridad de este pedido que debe eliminar desde su panel de control: http://www.quatromuebles.com/admin"
;
}
else {
header("location:http://www.quatromuebles.com/conregistro.php");
}
//ENVIANDO AL ADMIN
if ($empresa !="")  {
mail($email, $asunto, "DATOS CLIENTE" . $texto, $from);
$result = mysql("$database_localhost", "delete From carrito where cliente = $userid",
    
$localhost);}
 else {
header("location:http://www.quatromuebles.com/conregistro.php"); }
}
else{
header("location:http://www.quatromuebles.com/conregistro.php"); }
?>
lo que he hecho es poner esto

Código PHP:
if ($userid != "") { 
tanto con userid como $empresa

para que si el valor viene en blanco no me procese el pedido.

el problema viene de que cuando pasa el robot de cualquier buscador me genera un pedido en blanco y con el if no me lo para


alguien sabe?
cambia estas dos lineas:
Código PHP:
$userid = $_SESSION['privado'];
if (
$userid != "") { 
por estas:
Código PHP:
$userid = trim($_SESSION['privado']); // añadimos trim();
if ($userid != '') { // <--- son comillas simples '