|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - chesbor
1
« en: Viernes 10 de Julio de 2009, 23:50 »
El usuario 'nobody' no tiene acceso a la base de datos.. poné el usuario correspondiente y la contraseña correspondiente y listo... el usuario puede ser root y sin contraseña... puede ser admin admin, o el que vos hayas elegido en el servidor...no es un problema de php... Suerte.
2
« en: Lunes 6 de Julio de 2009, 20:41 »
Jejejje si, ni lo leí el de login... el de login tendrías que cambiar esto: } else { session_start(); mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'"); echo "Welcome: <strong>".$_POST['username']."</strong><br>"; echo "Continue to the <a href=members.php>members</a> section.";
Por esto: } else { session_start(); $_SESSION['log'] = 1; mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'"); echo "Welcome: <strong>".$_POST['username']."</strong><br>"; echo "Continue to the <a href=members.php>members</a> section.";
es solo una línea, espero que salga .
3
« en: Lunes 6 de Julio de 2009, 18:53 »
Lo único que salta a la vista es que la tabla 'conexion' va sin comillas... fuera de eso tambíen es recomendable concatenar valores en vez de meterlos adentro de la expresión, no sé si me explico: "SELECT * FROM pepe WHERE campo='".$variable."'" en vez de: "SELECT * FROM pepe WHERE campo='$variable'"
Espero que sea eso...
4
« en: Lunes 6 de Julio de 2009, 18:48 »
Para que lo puedan ver todos los usuarios registrados el código sería como estaba antes: session_start(); if($_SESSION['log'] == 1) { $consulta = mysql_query("SELECT * FROM logs ORDER BY usuario"); echo "<table><tr><td>Usuario</td><td>fecha</td></tr>"; while($registro = mysql_fetch_array($consulta)) { echo "<tr><td>".$registro['usuario']."</td><td>".$registro['fecha']."</td></tr>"; } echo "</table>"; } else { echo "debe loguearse para ver esta información"; }
5
« en: Lunes 6 de Julio de 2009, 00:37 »
Ok, vamos por partes... lo de la cookie lo tenés que sacar... porque vas a usar session... Así que esta parte: } else { setcookie("loggedin", "".$_POST['username']."", time()+(3600 * 24)); echo "Welcome: <strong>".$_POST['username']."</strong><br>"; echo "Continue to the <a href=members.php>members</a> section."; session_start(); $_SESSION['log'] = 1; mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'"); }
sería así: } else { session_start(); $_SESSION['log'] = 1; mysql_query("INSERT INTO logs (usuario, fecha) values ('".$_POST['username']."','".date('d/m/y')."'"); echo "Welcome: <strong>".$_POST['username']."</strong><br>"; echo "Continue to the <a href=members.php>members</a> section.";
Ahora el tema de los logins... te muestra el código porque no lo encerraste en los <?PHP ?> Y si lo tienen que ver todos en vez de solo un administrador hay que dejarlo asi como está, y si lo pueden ver todos incluso sin loguearse, solo hay que sacar el if($_SESSION['log] == 1). Espero que sirva.
6
« en: Domingo 5 de Julio de 2009, 23:04 »
El script de login de administrador sería casi igual al login común, solo que en vez de comparar los datos ingresados con los de un usuario común, los compararía con los del usuario administrador... La lista de logueos sería mas o menos asi: session_start(); if($_SESSION['log'] == 1) { $consulta = mysql_query("SELECT * FROM logs ORDER BY usuario"); echo "<table><tr><td>Usuario</td><td>fecha</td></tr>"; while($registro = mysql_fetch_array($consulta)) { echo "<tr><td>".$registro['usuario']."</td><td>".$registro['fecha']."</td></tr>"; } echo "</table>"; } else { echo "debe loguearse para ver esta información"; }
El script de login (que ya tenés hecho) debería estar basado en sessions y donde la session se define debería estar esta linea: mysql_query("INSERT INTO logs (user, fecha) values ('".$_POST['usuario']."','".date('d/m/y')."'");
Y el script de login de administrador como ya te dije arriba sería casi igual que el login normal solo que en vez de buscar los datos en la tabla usuarios los deberías buscar en la tabla administradores. Espero que salga .
7
« en: Domingo 5 de Julio de 2009, 21:14 »
En realidad no es tan dificil... ya tenés un sistema de registro y login hecho? Porque a mi parecer lo único que necesitarías para eso es:
Script de registro (un formulario simple que mande los datos a un script que haga una consulta insert)
Script de login (un formulario que pida usuario y contraseña y verifique su existencia en la base de datos con una consulta select)
3 bases de datos (log de fechas / usuarios / usuario administrador) (si el usuario administrador es uno solo bien podrías ponerlo en el código)
Script de login para el administrador (un script simple que concuerde 2 valores con 2 variables o 2 datos de la db)
Lista de logueos (un script que lea todo lo ingresado en la base de datos de logs y lo muestre)
La única "dificultad" que le veo y en realidad no es para nada difícil, es que hay que grabar una fecha en el script de login...
Quedaría mas o menos
if($_POST['contraseña'] == $consulta['contraseña']) { setcookie("Log",'1'); // Tal vez acá quieras usar un session para que no queden logueados mas de un dia... session_start(); $_SESSION['log'] = 1; mysql_query("INSERT INTO logs (user, fecha) values ('".$_POST['usuario']."','".date('d/m/y')."'"); }
Espero que ayude.
8
« en: Domingo 5 de Julio de 2009, 21:01 »
No entiendo nada xD... pero a ver: $idusuaP=$r_usuP[0]; $_SESSION["np"] = $r_usuP[9]; $pares[$a]= $r_usuP[0]; $a++;
esas lineas no sé que hacen... o sea, sé que hacen pero no sé por qué están ahí... echo $_SESSION["idem"],"-",$_SESSION["monemp"],"-",$_SESSION["idusua"],"-",$_SESSION["nu"],"-",$_SESSION["idusuaJ"],"-",$_SESSION["idusuaP"],"-",$idusuaP[0],$idusuaP[1];
las session idem monemp idusua nu idusuaJ no sé donde las definis (en una de esas en código anterior al que posteaste) print("<option value="".$r_usuP[0]."" selected>".$r_usuP[1]."</option>");
Tené en cuenta que con esa linea, todas las opciones empiezan tildadas, por lo tanto las que clickees van a destildarse y las que queden como estaban van a ser las elegidas... Espero en mi confusión haberte dado alguna respuesta útil xD.
9
« en: Sábado 4 de Julio de 2009, 17:23 »
Los select múltiples te mandan un array por post... una cosa que vale aclarar es que dentro del while, setear una session no tiene sentido, ya que al reemplazar el valor anterior cada vez, solo te va a quedar el último valor de la tabla... Para tomarlos por post podés verlos directamente o pasarlo a una variable... sea: echo $_POST['idusuaJ'][0]; o: $idusuaJ = $_POST['idusuaJ']; echo $idusuaJ[0]; Obviamente que 0 es la primer selección, 1 la segunda, etc. Saludos, espero que ande y me alegro que haya salido lo anterior .
10
« en: Sábado 4 de Julio de 2009, 03:19 »
Podés cambiar el action del form con javascript... aunque en realidad lo que deberías hacer es poner todo ese tipo de controles en la página donde se insertan los items, y si hay algún campo no válido redireccionar a la página anterior.
11
« en: Sábado 4 de Julio de 2009, 00:43 »
Nunca usé el mysql_result, pero creo que debería funcionar... siempre y cuando el valor del primer campo de la tabla sea numérico y mayor a 1... Si lo que querés ver es si ya existe un registro también podrías usar mysql_num_rows...
Y en el script de insertar nunca mostraste la consulta de insert para mas o menos ver la tabla... pero bue.. yo lo haria así:
$num_celular=$_POST["txt_numcelular"];
$sql = "SELECT num_celular FROM celulares WHERE num_celular = '$num_celular'"; $consulta = mysql_query($sql, $cn) or die( mysql_error() );
if (mysql_num_rows($consulta) >= 1) { die ("El campo celular ya esta registrado"); }
Espero que arregle...
12
« en: Viernes 3 de Julio de 2009, 16:12 »
Si, pero lo que ingresa es facturas de 5 campos o algo por el estilo, lo que él necesita es campos ilimitados, por lo cual necesita una tabla temporal antes de pasarlo a la tabla en donde quiere mantener los datos.
13
« en: Viernes 3 de Julio de 2009, 13:46 »
Tenés 2 formas de hacer esto... 1 ponés un campo hidden en cada página con el valor recibido por ejemplo en conecta1 pones un campo que sea mas o menos: echo "<input type="hidden" name="idemp" value="".$_POST['idemp']."">"; 2 seteas las sessions con los datos que vas recibiendo por post... en conecta 1, sería: $_SESSION['idemp'] = $_POST['idemp']; Espero que salga
14
« en: Viernes 3 de Julio de 2009, 13:39 »
Pero él necesita si o si una tabla temporal, u otra forma de ir guardando la info, porque quiere ilimitados registros...
15
« en: Jueves 2 de Julio de 2009, 20:28 »
$import="INSERT INTO tabla_principal(clave,nombre,id,apellidos) values('$clave','$data[1]','$data[2]','$data[3]')";
$import="INSERT INTO tabla_principal (clave,nombre,id,apellidos) values ('$clave','$data[1]','$data[2]','$data[3]')";
Pero lo raro es que dice que es en la linea 1 asi qeu andá a saber que consulta es...
Probá sino reescribiendo el código con todas las consideraciones que fuimos dando desde el principio a ver si fue algun problema de tipeo que no vimos...
16
« en: Jueves 2 de Julio de 2009, 18:54 »
$import2="UPDATE tabla2 SET clave_completa = '$clave' WHERE clave_completa= '$clave_completa";
En esa te falta una comilla simple despues de la variable... podría ser eso, lo que no se es por qué dice que es en la linea 1.
Ya corregiste los espacios en la otra?
17
« en: Jueves 2 de Julio de 2009, 17:33 »
Sí... clave no la tenés definida como array, entonces ir a la posición 1 cuando la 0 está vacía no tiene sentido... en vez de usar $clave[1] usá otra variable llamada $clave1 y listo. Y a las consultas no sé que les pasan... lo que si tienen mal los espaciados pero dudo que sea eso xD.
18
« en: Miércoles 1 de Julio de 2009, 01:41 »
NP, espero que salga bien .
19
« en: Miércoles 1 de Julio de 2009, 01:38 »
Sinceramente no, probaste con mysql_fetch_array?
20
« en: Martes 30 de Junio de 2009, 23:38 »
Hay 2 cosas mal que hacen que no envíe las variables... primero:
No debería ser <a href="grab_enc1.php">Guardar</a>, porque eso solo abre la página, no le envía los datos del formulario, debería ser <input type="button" name="enviar"> por ejemplo...
Y en la linea
<input name="id[a]" type="hidden" value="<? echo $row['0'] ?>" size="3"/>
debería ser
echo "<input name="id".$a."" type="hidden" value="".$row['0']."" size="3">";
en esa línea hay 2 cosas mal, primero, que no es id[0] sino id.$a (para concatenar la palabra id al valor de la variable $a en ese momento. Y el segundo error, que está en todas las lineas, es que el echo debería imprimir toda la linea, no solo la parte del valor, porque también tenés que modificar el nombre del campo con php.
21
« en: Martes 30 de Junio de 2009, 21:07 »
La verdad no sé qué es lo que está mal, lo único que vi es que un valor se repitió (algo que ver con el $data2="S" creo)... te recomendaría que pruebes con el script de lectura de csv que te pasé porque creo que está leyendo mal el archivo, las dbs no las probé por no tenerlas, pero el código parece estar bien...
22
« en: Martes 30 de Junio de 2009, 20:45 »
De nada, cualquier cosa postea .
23
« en: Martes 30 de Junio de 2009, 18:01 »
Lo que necesitás es ir grabando los registros en una tablita temporal, y mostrarlos en un iframe abajo de esos campos, para el botón agregar tenés 2 opciones, la primera sería una función javascript que mande los valores de los campos por GET, y otra, en vez de poner el texto, usar una imagen para el botón agregar, y usar una función para enviar el formulario al target "iframe". por ejemplo: agregar(form) { form.target= "iframe"; form.action = "ListaAutos.php"; form.submit(); } enviar(form) { form.target= "_self"; form.action = "Grabar.php"; form.submit(); } Campo1 Campo2 Campo 3 <input type"image" src="imagen.jpg" onClick="agregar(this,form)" name="agregar"> <a href="ListaAutos.php?borrar=1" target="iframe">borrar</a> <input type"image" src="imagen2.jpg" onClick="enviar(this,form)" name="agregar">
la página ListaAutos tendría un código mas o menos asi: if(isset($_POST['CAMPO1'])) { mysql_query("INSERT INTO tablatemporal (CAMPO1,CAMPO2,CAMPO3) values ('".$_POST['CAMPO1']."','".$_POST['CAMPO2']."','".$_POST['CAMPO3']."')"); } if($_GET['borrar'] == 1) { //Acá te vendría bien un campo incremental para saber cual fue el último ingresado sin mucha dificultad y borrarlo } //y acá abajo haces un while mostrando los contenidos de la tabla temporal
y la página Grabar.php solo tendría que leer los datos de la tabla temporal y grabarlos en la tabla correspondiente.
24
« en: Martes 30 de Junio de 2009, 17:41 »
Con esa extensión no podés crear archivos hasta donde yo sé... es solo para leer... la que necesitarías es la zlib. Con esta libreria se facilitan bastantes cosas, tené en cuenta que seguís necesitando la extensión zlib. http://www.mygnet.com/it/descargas/codi ... ip.889.zip include("createzip.php"); $cont=array("leerme.txt"=>"Este es un archivo generado a ".date("Y-m-d H:i:s"), "foto.jpg"=> file_get_contents("img/foto.jpg"), "dir1/dir2/dir3/color.txt"=>"color", "otrodir/demo"=>"" ); createzip($cont,"tmp/demozip.zip") or die("Error: al construir el ZIP."); ?>
Fuente: Artículo del usuario martin en http://www.mygnet.net .
25
« en: Martes 30 de Junio de 2009, 17:33 »
Eso es porque la consulta tendría que ordenar los valores DESCENDIENTEMENTE, o sea, el mas grande arriba (el primero que lees) y de ahi ir bajando... con orden ascendente el último valor es el mas grande, y vos no lo leés... Si es eso solo ya estás andando xD, sino avisá por acá.
|
|
|