PDA

View Full Version : Php 4.3.8 Upgrade | Foreach



morlack
07-25-2004, 07:55 PM
Since the php 4.3.8 upgrade

I've noticed a few errors in my formmail scripts.

Before the upgrade all worked well :

Now I get :
Warning: Invalid argument supplied for foreach()


$one = $_POST["one"];
foreach($one as $value)
$hello .= "$value\n";

Can anyone help? :(

Joe
07-25-2004, 08:41 PM
Hmmmm... which formmail script are you using?

morlack
07-26-2004, 06:47 AM
I am using a hybrid script assembled by myself with the help of hiveminders and various other sources.

I include the entire script here :


<?php

if(strpos($_SERVER["HTTP_REFERER"], "innovacionesespiral.com/cotizacion.php") === FALSE)
die("Illegal use.");

// form variables
$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];
$email = $_POST['email'];
$telefono_lada = $_POST['telefono_lada'];
$telefono = $_POST['telefono'];
$url = $_POST['url'];
$detalles = $_POST['detalles'];
$presupuesto = $_POST['presupuesto'];
$rubro_empresa = $_POST['rubro_empresa'];
$numero_empleados = $_POST['numero_empleados'];
$puesto = $_POST['puesto'];
$inicio_proyecto = $_POST['inicio_proyecto'];
$estado = $_POST['estado'];

$one = $_POST["one"];
foreach($one as $value)
$cool .= "$value\n";

// set echo formatting
$bodyback = "#B4C6D9";
$fonttype = "verdana";
$fontcolour = "#000066";

// check for missing required fields and sanitize //

// blank //
if($_POST["one"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de escoger un servicio...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("[a-zA-Z0-9]{0,}", $otro_servicio)) {echo "<body bgcolor=\"$bodyback\"></body>"; // if (!ereg ("[a-zA-Z0-9]{1,}", //
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>En el campo \"otro servicio\" favor de ingresar unicamente caracteres alfanumericos...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

if($_POST["presupuesto"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de indicar tu presupuesto para el proyecto...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
if($_POST["inicio_proyecto"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de indicar el inicio estimado del proyecto...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

// blank //
if($_POST["detalles"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar algunos detalles...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("[a-zA-Z0-9]{1,}", $detalles)) {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>En el campo \"detalles\" favor de ingresar unicamente caracteres alfanumericos...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

// blank //
if($_POST["nombre"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar tu nombre...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("[a-zA-Z]{1,}", $nombre)) {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>En el campo \"nombre\" favor de ingresar unicamente caracteres alfanumericos...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

if (!ereg ("[a-zA-Z0-9]{0,}", $empresa)) {echo "<body bgcolor=\"$bodyback\"></body>"; // if (!ereg ("[a-zA-Z0-9]{1,}", //
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>En el campo \"empresa\" favor de ingresar unicamente caracteres alfanumericos.</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

if($_POST["estado"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de indicar el estado de tu procedencia actual...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

// blank //
if($_POST["email"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Sin tu email, no podemos responder!..</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("^.+@.+\\..+$", $email)) {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar un email valido...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

// blank //
if($_POST["telefono_lada"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar un clave lada...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("[0-9]{2,3}", $telefono_lada)) { echo "<body bgcolor=\"$bodyback\"></body>"; // lada no longer than 3 digits
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar un clave lada valido...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// blank //
if($_POST["telefono"] == "") {echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar su número teléfonico...</b><br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}
// sanitize //
if (!ereg ("[0-9]", $telefono)) { echo "<body bgcolor=\"$bodyback\"></body>";
echo "<br><br><font face=\"$fonttype\" size=\"2\" color=\"$fontcolour\">
<div align=center><b>Favor de ingresar un número teléfonico valido...</b>
<br><br><a href='javascript:history.back()'>regresar</a></div></font>"; exit;
}

// Do something useful with the data collected...

$myname .= "Innovaciones Espiral";
$myemail .= "info@innovacionesespiral.com";
$messagecliente .= "Para tu referencia estos son los datos de tu solicitud,\r\n\r\n";
$message .= "Servicio(s) a cotizar :\r\n\r\n";
$message .= "$cool\r\n";
$message .= "Presupuesto estimado : $presupuesto\r\n";
$message .= "Rubro de empresa : $rubro_empresa\r\n";
$message .= "Número de empleados : $numero_empleados\r\n";
$message .= "Puesto : $puesto\r\n";
$message .= "Inicio de proyecto : $inicio_proyecto\r\n";
$message .= "Detalles : $detalles\r\n\r\n";
$message .= "Nombre : $nombre\r\n";
$message .= "Empresa : $empresa\r\n";
$message .= "Estado : $estado\r\n";
$message .= "Email : $email\r\n";
$message .= "Teléfono : $telefono_lada.$telefono\r\n";
$message .= "Dirección Web : $url\r\n\r\n";
$messagecliente2 .= "Sinceramente,\r\n\r\n";
$messagecliente2 .= "Innovaciones Espiral\r\n";
$messagecliente2 .= "http://www.innovacionesespiral.com\r\n";
$messagecliente2 .= "Tel/Fax : +52 (998) 847 6531\r\n";
$messagecliente2 .= "Cel. : 044 99 8103 4565";

$messageie .= "Host ".$_SERVER['REMOTE_HOST'];
$messageie .= "\nIP ".$_SERVER['REMOTE_ADDR'];
$messageie .= "\nBrowser ".$_SERVER['HTTP_USER_AGENT'];

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: sendmail";

mail(
"$myemail",
"Innovaciones Espiral - Servicios Web",
"$message $messageie",
"$headers");

mail(
"$email",
"Innovaciones Espiral - Servicios Web",
"$messagecliente $message $messagecliente2",
"$headers");

header( "Location: http://www.innovacionesespiral.com/cotizacion-gracias.php?nombre=" . $_POST["nombre"] . "&email=" . $_POST["email"]);

?>


The code that posts to foreach():



<input name = "one[]" type = "checkbox" value = "dise&ntilde;o web">
<input name = "one[]" type = "checkbox" value = "posicionamiento web">
<input name = "one[]" type = "checkbox" value = "Re-diseño web">