Foros del Web » Programando para Internet » PHP »

Usuarios Mysql con php

Estas en el tema de Usuarios Mysql con php en el foro de PHP en Foros del Web. Hola amigos. Estoy gestionando una red con WampServer y me encuentro en un momento en el que no se que hacer ya que yo no ...
  #1 (permalink)  
Antiguo 30/05/2011, 12:22
 
Fecha de Ingreso: abril-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 2
Pregunta Usuarios Mysql con php

Hola amigos.

Estoy gestionando una red con WampServer y me encuentro en un momento en el que no se que hacer ya que yo no se php y en estos momentos no tengo el tiempo, ni los medios para aprenderlo, asi que les pido su ayuda.

Miren tengo el siguiente código (más abajito) que lo que intenta hacer es desde un formulario meter unos datos (nombre de la base de datos a la que se hace referencia, usuario y password ) y llamar al código php para que agregue ese usuario al mysql , pero como no se php no entiendo porque me falla, (el código lo cogí de varias webs).

Así que les pido su ayuda. Si me pudiesen ayudar con el código, les estaría agradecido eternamente.
Muchas Gracias.

PS: Si no entendieron lo que intente hacer me lo comentan y yo me explico mejor.

<html><head></head>
<body>

<font size="5pt">
<form method="post"> Base de datos:
<input name="bbdd" id="bbdd type="text" />
</form>

<form method="post"> Usuario:
<input name="usuario" id="usuario" type="text" />
</form>

<form method="post">Password:
<input name="password" id="password" type="text" />
</form>

<form method="post" >
<input name="crear" value="Agregar usuario" type="submit" value="Agregar usuario"/>
</form>
</font>


<?php
$connect=mysql_connect("localhost","root","admin") or die ("Imposible conectar");
$base=$bbdd;

$insertSQL1 = "CREATE USER \".$usuario.\"@localhost IDENTIFIED BY \'\".$password.\" \'\";
$insertSQL2 = \"GRANT SELECT ,INSERT ,UPDATE ,DELETE ON * . * TO \".$usuario.\"@localhost IDENTIFIED BY \'\".$password.\"\' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0\";

$Result12 = mysql_query($insertSQL1, $ConexionX) or die(mysql_error());
$Result13 = mysql_query($insertSQL2, $ConexionX) or die(mysql_error());
echo "Usuario Agregado";
?>

</body></html>


Datos adicionales:

- S.O: Windows XP Profesional SP 3.
- WampServer v2.1.
--- PHP v5.3.5
--- MYSQL v5.5.8
--- Apache v2.2.17
  #2 (permalink)  
Antiguo 30/05/2011, 13:39
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Usuarios Mysql con php

ok, corrigiendo:

primero solo debes hacer un solo formulario, no uno por cada campo:

Código HTML:
Ver original
  1. <form method="post">
  2. Base de datos:
  3. <input name="bbdd" id="bbdd type="text" />
  4. Usuario:
  5. <input name="usuario" id="usuario" type="text" />
  6. Password:
  7. <input name="password" id="password" type="text" />
  8. <input name="crear" value="Agregar usuario" type="submit" value="Agregar usuario"/>
  9. </form>

luego debes crear las variables desde $_POST, o sea:

Código PHP:
Ver original
  1. <?php
  2. $bbdd=$_POST['bbdd'];
  3. $usuario=$_POST['usuario'];
  4. $password=$_POST['password'];
  5.  
  6. $connect=mysql_connect...................

haz las consultas de esta manera:

Código PHP:
Ver original
  1. $insertSQL1 = "CREATE USER $usuario@localhost IDENTIFIED BY '$password'  ";
  2. $insertSQL2 = "GRANT SELECT ,INSERT ,UPDATE ,DELETE ON * . * TO $usuario@localhost IDENTIFIED BY '$password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0";

por ultimo recuerda que la variable de conexion que has creado se llama $connect

Código PHP:
Ver original
  1. $Result12 = mysql_query($insertSQL1, $connect) or die(mysql_error());
  2. $Result13 = mysql_query($insertSQL2, $connect) or die(mysql_error());
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 30/05/2011, 13:47
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Usuarios Mysql con php

hola estoy en tu misma situación... he descargado varios scripts, los he modificad y no me andan ni de atrás para delante (los modifique y dejaron de funcionar).
Necesito:

Pagina de perfil:
Usuario:
nombre
apellido
clave:
mail:
edad: con <select>
ciudad:
pais:
DNI
direccion:
telefono:
movil:
etc:

registro.php

usuario:
Nombre:
Apellido:
email:

login.php
usuario:
mail:

----------

bueno...... espero que alguien me ayude con esto.... estoy preocupado.....
__________________
Oir EuropaFM Valencia!
  #4 (permalink)  
Antiguo 30/05/2011, 13:52
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Usuarios Mysql con php

te los envuelvo en papel de regalo y te lo voy a dejar a tu casa?

hablando en serio, te recomiendo hacer un tema nuevo y no pidas códigos, no hacemos tareas :)

a veces yo lo hago pero cuando son cosas cortas XD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 30/05/2011, 13:53
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Usuarios Mysql con php

ok.... abro uno nuevo...
__________________
Oir EuropaFM Valencia!
  #6 (permalink)  
Antiguo 31/05/2011, 12:48
 
Fecha de Ingreso: abril-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 2
Respuesta: Usuarios Mysql con php

Hola amigo Stramin.

En primer lugar te quiero agradecer mucho que me ayas contestado, la verdad creía que nadie me iba a contestar, pero al final me equivoque, el código que me has dejado va perfectamente me crea los usuarios de lujo, pero por alguna extraña razón me retorna un error raro al cargar el php.

Esto es lo que hice:

Copie el código que me pusiste en un archivo (user.php) de esta manera .

<html><head><title>PHP</title></head><body>
<form method="post">
Base de datos:
<input name="bbdd" id="bbdd type="text" />
Usuario:
<input name="usuario" id="usuario" type="text" />
Password:
<input name="password" id="password" type="text" />
<input name="crear" value="Agregar usuario" type="submit" value="Agregar usuario"/>
</form>


<?php
$bbdd=$_POST['bbdd'];
$usuario=$_POST['usuario'];
$password=$_POST['password'];

$connect=mysql_connect("localhost","root","") or die ("Imposible conectar");
$base=$bbdd;

$insertSQL1 = "CREATE USER '$usuario'@'localhost' IDENTIFIED BY '$password' ";
$insertSQL2 = "GRANT SELECT ,INSERT ,UPDATE ,DELETE ON * . * TO '$usuario'@'localhost' IDENTIFIED BY '$password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0";

$Result12 = mysql_query($insertSQL1, $connect) or die(mysql_error());
$Result13 = mysql_query($insertSQL2, $connect) or die(mysql_error());
?>


</body></html>


Luego de ejecutarlo (sin rellenar ningun dato del formulario), me mando unos errores que para mi son desconocidos tales como:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@localhost IDENTIFIED BY ''' at line. 1

y otro como:


Operation CREATE USER failed for ''@'localhost'


Bueno espero haberme explicado bien, si no lo hice me lo comentas y lo ago mejor.

Ps: puse entre comillas simplas algunos parametros ('$usuario'@'localhost','$password',...) porque me mando un error que si entendi y lo cambie en el codigo.

Os Agradezco Mucho la ayuda.
  #7 (permalink)  
Antiguo 31/05/2011, 13:21
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Usuarios Mysql con php

ok, edito el tema por que no habia leido bien, para evitar esos errores agrega esto al código PHP:

<?php
if($_POST['bbdd'] and $_POST['usuario'] and $_POST['password']){
$bbdd=$_POST['bbdd'];
$usuario=$_POST['usuario'];
$password=$_POST['password'];

$connect=mysql_connect("localhost","root","") or die ("Imposible conectar");
$base=$bbdd;

$insertSQL1 = "CREATE USER '$usuario'@'localhost' IDENTIFIED BY '$password' ";
$insertSQL2 = "GRANT SELECT ,INSERT ,UPDATE ,DELETE ON * . * TO '$usuario'@'localhost' IDENTIFIED BY '$password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0";

$Result12 = mysql_query($insertSQL1, $connect) or die(mysql_error());
$Result13 = mysql_query($insertSQL2, $connect) or die(mysql_error());
} // <- no olvides este
?>

con eso solo intetará guardar cuando se hayan escrito los 3 campos de texto :)

espero que te resulte
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #8 (permalink)  
Antiguo 31/05/2011, 13:37
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Usuarios Mysql con php

este tema esta relacionado.... aver si hacemos el hilo, plis...
http://www.forosdelweb.com/f18/siste...2/#post3875757
__________________
Oir EuropaFM Valencia!
  #9 (permalink)  
Antiguo 01/06/2011, 06:15
 
Fecha de Ingreso: abril-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 2
Respuesta: Usuarios Mysql con php

Hola de nuevo amigo Stramin.

Gracias por haber respondido por segunda vez, el código que me has dejado me ha funcionado, ya no me retorna los errores de antes, pero por desgracia me mando otro error que no se como solucionar

( ! ) Notice: Undefined index: bbdd in C:\wamp\www\bbdd\co.php on line 18
Call Stack


y en la linea 18 tengo esto:
if($_POST['bbdd'] and $_POST['usuario'] and $_POST['password']){.

¿Sabes esto que puede ser?

Te agradezco tu ayuda.

Hasta pronto.
  #10 (permalink)  
Antiguo 01/06/2011, 07:37
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Usuarios Mysql con php

en ese caso cambiala por:

Código PHP:
if(isset($_POST['bbdd']) and isset($_POST['usuario']) and isset($_POST['password'])){ 
esto es por que yo estoy acostumbrado a trabajar en un servidor que no reporta ese tipo de avisos XD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #11 (permalink)  
Antiguo 21/06/2011, 12:43
 
Fecha de Ingreso: abril-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 2
Respuesta: Usuarios Mysql con php

Hola compañero Stramin, quería agradecerte mucho tu ayuda y disculparme por no haber respondido mas antes.

Bueno eso era todo y de te doy las gracias de nuevo. Y que te vaya bien, hasta siempre.
  #12 (permalink)  
Antiguo 22/06/2011, 13:49
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Usuarios Mysql con php

de nada, me gusta ayudar, pero cuando me agradecen, me gusta mucho mas :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: mysql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:11.