Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/10/2009, 19:53
arcanisgk1
 
Fecha de Ingreso: mayo-2009
Mensajes: 200
Antigüedad: 15 años
Puntos: 7
Exclamación Respuesta: funcion hphp para insertar datos en mysql revisar

Cita:
Iniciado por David Ver Mensaje
No puedes usar WHERE en un INSERT. Si lo que quieres es actualizar los datos, debes usar UPDATE:
http://dev.mysql.com/doc/refman/5.0/es/update.html
ok lo que que quiero es lo siguiente:

aumentar un poco la seguridad con este scrip php y la ceracion de unpersonaje.

Código PHP:
<?php
ob_start
();
session_start();
if(isset(
$_POST['namepj']) && !empty($_POST['namepj'])){
    
$user=$_POST['user'];
    
$namepj=$_POST['namepj'];
    
$raza=$_POST['raza'];
    
$prof=$_POST['prof'];
    if(
$prof==0000){
        
header('refresh:10; url=/create.html');
        echo 
"Error, no ha introducido una Profecion correcta";
    }else{
        
$hibrid=$_POST['hibrid'];
        
$edad=$_POST['edad'];
        
$apa=$_POST['apa'];
        
$check=0;
        include(
"config/config.php");
    
// ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."
    // Conectar a la base de datos
        
mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
        
$cnamepj mysql_query("SELECT namepj FROM pj WHERE namepj='$namepj'"); 
        
$namepj_exist mysql_num_rows($cnamepj);
        
$cid mysql_query("SELECT ID FROM pj WHERE ID='$id'"); 
        
$id_exist mysql_num_rows($cnamepj);
        
$act mysql_query("SELECT activate FROM pj WHERE namepj='$namepj'");
        if (
act>0){
            
header('refresh:20; url=/create.html');
            echo 
"Ya existe un personaje activado a esta cuenta.<br>";
        }else{
            if (
$namepj_exist>0) {
                
header('refresh:20; url=/create.html');
                echo 
"El nombre del personaje esta en uso.<br>";
                echo 
"Por favor utilice otro.<br>";
                echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                echo 
"Nombre de la Cuenta.<br>";
                echo 
"Nombre del personaje a utilizar.<br>";
            }else{
                if (
$id_exist>0) {
                    
header('refresh:10; url=/index.html');
                    echo 
"El numero de ID esta colapsado.<br>";
                    echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                    echo 
"Nombre de la Cuenta.<br>";
                    echo 
"Nombre del personaje a utilizar.<br>";
                }else{
                    
$idpj mysql_query("SELECT ID FROM user WHERE username='$user'");
                    
$id $idpj;
                    
$activate mysql_query("SELECT activate FROM pj WHERE ID='$id'");
                    if(
id==1){
                        echo 
"Ha habido un error al insertar los valores.";
                        echo 
"Por favor mandar un correo electrónico a [email protected] con la siguiente información:<br>";
                        echo 
"Error ya existe un personaje creado a su Cuenta<br>";
                        echo 
"Nombre de la Cuenta.<br>";
                        echo 
"Nombre del personaje a utilizar.<br>";
                    }else{
                        
mysql_query("DELETE FROM pj WHERE ID='$id'");
                        
mysql_query("INSERT INTO pj WHERE ID='$id' (ID,namepj,raza,prof,hibrid,edad,apa)
                        VALUES ('{$id}','{$namepj}','{$raza}','{$prof}','{$hibrid}','{$edad}','{$apa}')"
,$link);
    
// Ahora comprobaremos que todo ha ido correctamente
                        
$my_error mysql_error($link);
                        if(!empty(
$my_error)){
                            
header('refresh:20; url=/create.html');
                            echo 
"Ha habido un error al insertar los valores. $my_error";
                            echo 
"Por favor mandar un correo electrónico a [email protected]  con la siguiente información:<br>";
                            echo 
"Este ERROR: $my_error<br>";
                            echo 
"Nombre de la Cuenta.<br>";
                            echo 
"Nombre del personaje a utilizar.<br>";
                        }else{
                            
header('refresh:10; url=/create2.html');
                            echo 
"Almacenando Informacion...Por favor espere.<br>";
                            echo 
"ID: $id<br>";
                            echo 
"namepj: $namepj<br>";
                            echo 
"raza: $raza<br>";
                            echo 
"prof: $prof<br>";
                            echo 
"hibrid: $hibrid<br>";
                            echo 
"edad: $edad<br>";
                            echo 
"apa: $apa";
                        }
                    }
                }
            }
        
        }
    }
}else{
    echo 
"<meta http-equiv='refresh' content='20;url=/create.html' />";
    echo 
"Error, no ha introducido todos los datos";}
ob_end_flush();
?>
si ven lo que haces esa parte es que si ya existe un personaje lo borra si no a pasado por la activacion esto permite al usuario crear un personaje nuevo desde cerro, la cuestion de seguridad es que no existia un control de como saver si ya existia un personaje