Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/08/2006, 08:28
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La redirección que haces:
header("Location:buckaroo.php");

Entre todo el HTML que ahí montas .. NO es correcta en ese punto.

Piensa que diseñas páginas HTML pero que las "genera" PHP .. y no en que "metes" PHP entre el HTML .. así que olvidate de conceptos como "esto para el "body" .. esto para el "head" y cosas así.

Tus validaciones PHP deben hacerse antes de tu código HTML pueda ser generado .. De hecho tu validación decide si corresponde que "hay que redireccionar a otra página" . .por ende .. la página que se pueda generar NO corresponde generarla. Con "Header()" de tipo "location" le indicas al navegador que cambie la página que estás viendo .. pero eso se envia -antes- de cualquier otro tipo de "salida" que puedas enviar al navegador (cliente).


Código PHP:
 <?php 
              
if ($_SERVER['REQUEST_METHOD'] == "POST") { 
                  
$company $_POST["txtCompany"]; 
                
$name $_POST["txtNaam"]; 
                
$firstname $_POST["txtAchternaam"]; 
                
$login $_POST["txtLogin"]; 
                
$password $_POST["txtPassword"]; 
                
$datum date("F j, Y, g:i a"); 
                
$email $_POST["txtEmail"]; 
                
$adres $_POST["txtAdres"]; 
                
$cp $_POST["txtCp"]; 
                
$city $_POST["txtLocatie"]; 
                
$country $_POST["bill_country"]; 
                
$phone $_POST["txtTelefoon"]; 
                
$fax $_POST["txtFax"]; 
                 
                if (
$company == ""){ 
                
$error "Company, ";} 
                if (
$name == ""){ 
                
$error .= "Firstname, ";} 
                if (
$firstname == ""){ 
                
$error .= "Lastname, ";} 
                if (
$login == ""){ 
                
$error .= "Login, ";} 
                if (
$password == ""){ 
                
$error .= "Password, ";} 
                if ((!
ereg(".+\@.+\..+"$email)) || (!ereg("^[[email protected]]+$"$email))){ 
                
$error .= "E-mail, ";} 
                if (
$adres == ""){ 
                
$error .= "Adress, ";} 
                if (
$cp == ""){ 
                
$error .= "Postal code, ";} 
                if (
$city == ""){ 
                
$error .= "City, ";} 
                if (
$country == ""){ 
                
$error .= "Country, ";} 
                if (
$phone == ""){ 
                
$error .= "Phone, ";} 
                 
                if(
$error){ 
                    
// Si tienes un error .. redireccionas a esta misma página .. pero con una variable de control para presentar el mensaje de error.
                    
header ("Location: ".$_SERVER['PHP_SELF']."?control=error");
                    exit; 
                } 
                else  
                { 
                
$str_sql "INSERT INTO klanten 
                                    (KLANT_COMPANY, KLANT_NAME, KLANT_FIRSTNAME, KLANT_LOGIN, KLANT_CONTRASENA, FECHA_KLANT_ALTA, KLANT_EMAIL, KLANT_ADRES, KLANT_LOCATIE, KLANT_CP, KLANT_LAND, KLANT_TELEFOON, KLANT_FAX) 
                            VALUES 
                                 ('$company', '$name', '$firstname', '$login', '$password', '$datum', '$email', '$adres', '$city', '$cp', '$country', '$phone','$fax')"

                
mysql_query($str_sql) or die("Error " mysql_error()); 
                
$sql "SELECT * FROM klanten WHERE KLANT_LOGIN = '$login' AND KLANT_CONTRASENA = '$password'"
                
$result mysql_query($sql) or die(mysql_error()); 
                if (@
mysql_num_rows($result) > 0) { 
                        
$row mysql_fetch_assoc($result); 
                        
$_SESSION['login_session']['idklant'] = $row['IDKLANT']; 
                        
$idklant $_SESSION['login_session']['idklant']; 
                        
mysql_query ("UPDATE cart SET IDKLANT = $idklant where IDCOOKIE = '" GetCartId() ."'"); 
                        } 
                
mysql_close(); 
                
header("Location:buckaroo.php"); 
                exit;
                }} 
                
?>
Usa todo este código PHP -antes de tu código HTML-

Para mostrar el mensaje de error si se produce done lo tenías ..
Código PHP:
if ($_GET['control']=="error"){
echo 
"mensaje de error";

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.