Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2008, 15:09
drak91
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 17 años, 6 meses
Puntos: 0
Consulta con php a mysql

Hola muy buenas!
Estoy trabajando en un script que en principio es un formulario en el que se ingresan X datos para ser insertados en una mysql, hasta ahí bien.

Ahora, lo que quiero es que en ese formulario a parte de ingresar esos datos a ser insertados en mysq, haya que insertar el usuario y contraseña de un foro smf para que, si el usuario y contraseña son incorrectos, no inserte los otros datos.

Que logro con esto? pues evidentemente que quien no esté registrado en el foro no pueda insertar los otros datos...

El problema es que nose como hacerlo...
Tengo un index.php que es donde tengo el formulario, que manda los datos a un registerprocess.php en el cual los recoge...
Ahora en el registerprocess.php tengo que hacer 2 conexiones a bases de datos en distintos servidores, una al foro smf para comprobar el usuario y contraseña, y otra al otro mysql para insertar los datos en el supuesto de que el usuario y contraseña sean correctos...

He intentado usar el mysql_num_rows pero como no tengo ni idea pues tampoco he logrado nada...

Aqui os dejo el codigo de registerprocess.php ya que el index.php está bien, no tiene misterio alguno :)

PD: para obtener los datos de las mysql se conecta a dos .php distintos llamados "config.php" y "configforo.php" a través de include('');

Código PHP:
<html>
<head>
<title>Registration Results</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<?php
require('header.php');
?>
<br>
<div class="title">Resultados del Registro</div>
<?php
error_reporting
(E_ALL & ~E_NOTICE);

//Data here from form
$username $_POST['username']; //Gets the username
$password $_POST['password']; //Gets the password
$sex $_POST['sex']; //Gets the gender
$email $_POST['email']; //Gets the email address
$image $_POST['image']; //Gets the actual image numbers
$imageverify $_POST['imageverify']; //Gets the image numbers
$usernameforo $_POST['usernameforo']; //Consigue el user del foro
$passwordforo $_POST['passwordforo']; //Consigue la pass del user del foro

$coded "Copyright XXXX.net 2008";

if(empty(
$username) || empty($password) || empty($sex) || empty($email) || empty($imageverify)){ //If player has not filled in all required fields, print this message:
echo "<div class=\"results\">";
echo 
"Rellena todos los huecos!!!!<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>.";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script.
//If player has filled in all required fields, continue.

if($reg_userpass_same == '1'){ //If the option for 'Can username and the password be same' is on,
    
if($username == $password){ //And if the username is same as the password, print this message:
        
echo "<div class=\"results\">";
        echo 
"El nombre de usuario no puede ser el mismo que la contraseña!<br>";
        echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>.";
        echo 
"</div>";
        die(
"<div class=\"center\">$coded</div>"); //Stop the script
    
//If password is not the same as the username, continue.
//If the option for 'Can username and the password be same' is off, continue.

if(!ereg("[a-z||0-9]"$username)){ //If the username entered is not valid (Alphanumerals), print this message:
echo "<div class=\"results\">";
echo 
"Nombre de usuario inválido! Solo caracteres alfanuméricos.<br>";
echo 
"Regresar <a href=\"index.php\">XXXX.net creación de cuentas</a>.";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script
//If the username is valid, continue.

if(!ereg("[a-z||0-9]@[a-z||0-9].[a-z]"$email)){ //If the email entered is not valid, print this message.
echo "<div class=\"results\">";
echo 
"Tu dirección de e-mail es inválida!<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>.";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script
//If the email address is valid, continue.

if($reg_md5 == '1'){ //If the option 'MD5 passwords' is on, encrypt the password with MD5.
$password md5($password);
//If not, continue.

if($image != $imageverify){ //If the actual image number is not the same the user inputed, print this message.
echo "<div class=\"results\">";
echo 
"Has introducido mal los caracteres de la imagen de verificación!<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>.";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script
//If it is the same, continue.


?>
/* AQUI EMPIEZA LOGUEO AL FORO */

<?php
include('configforo.php'); //Pilla los datos de la db de configforo.php

$conex mysql_connect("$sql_host""$sql_user""$sql_pass"); //Conecta con la db del foro

if(!$conex){ //Si la conexion falla, Poner lo siguiente.
echo "<div class=\"results\">";
echo 
"Ha fallado la creación de la cuenta: ".mysql_error()."<br>"//Pone la razon del error
echo "Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Parar el script.
//Si la conexion se establece, continuar.


if(!mysql_select_db("$sql_db"$conex)){ //Si falla seleccion de db, poner lo siguiente.
echo "<div class=\"results\">";
echo 
"Falló el registro de la cuenta: ".mysql_error()."<br>"//Pone la razon del error.
echo "Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Parar el script.
//Si la conexion se establece, continuar.



if($log_md5 == '1'){ //If the option 'MD5 passwords' is on, encrypt the password with MD5.
$passwordforo md5($passwordforo);
//If not, continue.


$checkuserpass mysql_query("SELECT memberName,passwd FROM smf_members WHERE memberName LIKE '$usernameforo' AND passwd LIKE '$passwordforo'",$conex);
$resultado mysql_query($checkuserpass); //Ejecuta la query

if (mysql_num_rows($resultado) < 0){


echo 
"Falló el registro porque: ";
echo 
"El usuario o contraseña del foro no coinciden con los que has ingresado.<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); // Para el script
//Si coinciden el user y pass, continua


mysql_close($conex);
?>

/* AKI TERMINA EL LOGUEO AL FORO */
<?php

include ('config.php'); //Gets the configuration file

$conn mysql_connect("$sql_host""$sql_user""$sql_pass"); //Connect to MySQL Server

if(!$conn){ //If the connection failed, print this message.
echo "<div class=\"results\">";
echo 
"Ha fallado la creación de la cuenta: ".mysql_error()."<br>"//Print out the reason of the error
echo "Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script.
//If the connection suceeded, continue.

if(!mysql_select_db("$sql_db"$conn)){ //If failed to select the database, print this message.
echo "<div class=\"results\">";
echo 
"Falló el registro de la cuenta: ".mysql_error()."<br>"//Print out the reason of the error.
echo "Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script.
//If the database selection succeeded, continue.

//Email checking module fixed by Cypress.
$checkemail "SELECT email FROM login WHERE email LIKE '$email'"//The email checking query
$result mysql_query($checkemail);  //Runs the query.

if (mysql_num_rows($result) > 0){ //If the email address exists, print this messsage.
echo "<div class=\"results\">";
echo 
"Falló el registro porque: ";
echo 
"Este e-mail ya ha sido registrado.<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script.
//If not, continue.

//Username checking module fixed by Cypress.
$checkuserid "SELECT userid FROM login WHERE userid LIKE '$username'"//The username checking query
$result mysql_query($checkuserid); //Runs the query.

if (mysql_num_rows($result) > 0){ //If the username exists, print this message.
echo "<div class=\"results\">";
echo 
"Falló el registro porque: ";
echo 
"El nombre introducido ya ha sido usado.Por favor vuelve atrás y prueba de nuevo.<br>";
echo 
"Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>";
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>");
//If the username does not exist, continue.


$query mysql_query("INSERT INTO login(userid, user_pass, sex, email, level) VALUES ('$username', '$password', '$sex', '$email', 0)"); //Query to insert the data into the database.

if(!$query){ //If the query fails, print this message:
echo "<div class=\"results\">";
echo 
"Falló el registro porque: ".mysql_error()."<br>"//Print out the reason of the error.
echo "Regresar a <a href=\"index.php\">XXXX.net creación de cuentas</a>"
echo 
"</div>";
die(
"<div class=\"center\">$coded</div>"); //Stop the script.
}

echo 
'Registro Completado Con Éxito.'//If all goes well, print this message.

?>
</body>
</html>
Gracias por adelantado :)