<div dir="ltr"><div>Profe esta version tiene lo de sesiones y la abm tiene los erroes de la version 5 que le dije no mirara.</div><div>Osea los errores que le detalle antes.</div><div>Errores que se me presantoron :</div><div>1.- Categoría :  una vez creada no puedo refrescar la pagina para que se actualize el menu. </div><div>Usé       header("Location:menuCategorias.php");     pero me tira errores.</div><div>2.- Cuando quiero cerrar sesion tengo que apretar dos veces "salir" para cerrar sesion.</div><div>3.- La sesion del administrador (osea la contraseña la pongo en la bd o en alguna otra parte).</div><div>4.- como evito que se pueda entrar a area de administracion si no se esta logueado como admin.</div><div>Puse este codigo que lo tengo en sesiones.php </div><div><br></div><div><?php </div><div>if(session_start() != NULL){</div><div><span class="" style="white-space:pre">      </span>if(isset($_POST['salir'])){</div><div><span class="" style="white-space:pre">                </span>session_destroy();</div><div><span class="" style="white-space:pre"> </span>}</div><div><span class="" style="white-space:pre">  </span>if (isset($_SESSION["nick"])) {</div><div><span class="" style="white-space:pre">          </span>if ($_SESSION["nick"]!="admin" ) {</div><div><span class="" style="white-space:pre">                     </span>header("Location:../../index.php")<span class="" style="white-space:pre">      </span>;</div><div><span class="" style="white-space:pre">                  </span>exit();</div><div><span class="" style="white-space:pre">            </span>}</div><div><span class="" style="white-space:pre">  </span>}</div><div>}else{</div><div><span class="" style="white-space:pre">     </span>header("Location:../../index.php");</div><div><span class="" style="white-space:pre">      </span>exit();</div><div>}</div><div>?></div><div><br></div><div>Saludos!</div><div><br></div><div>Version 6 -->  <a href="https://drive.google.com/open?id=0BzqLAZvApjLybzhtcDVjVzhzUW8">https://drive.google.com/open?id=0BzqLAZvApjLybzhtcDVjVzhzUW8</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 5 de julio de 2016, 14:10, Martin Urciuoli <span dir="ltr"><<a href="mailto:myrrel@gmail.com" target="_blank">myrrel@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">No lo mire aun que en breve le paso otra versión mejor!</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">El 5 de julio de 2016, 1:10, Martin Urciuoli <span dir="ltr"><<a href="mailto:myrrel@gmail.com" target="_blank">myrrel@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hola Profe. me llama la atención los errores que le aparecen porque a mí no me aparecen. Si me muestra otros errores que ya he corregido (al menos algunos). <div>Le paso una abm funcionando(con minimos errores, que luego le detallo), aun no tengo lo de sesiones ni lo del carrito de compras, pero lo otro puedo terminarlo sin alterar esto que le mando ahora.</div><div>Con respecto al fwrite: la idea es que cuando cuando agrego o elimino una categoria rehago el archivo, si se fija en la carpeta layout tengo un archivo llamado menugral que contiene el menu que luego incluyo en todas partes. Como  las direcciones de acceso a cada archivo cambia hice otra funcion que modifica el archivo por la ruta necesaria segun el caso.</div><div>Modifiqué lo del menu como me dijo. Lo puse en una funcion asi hago activa la pestaña  en la que estoy parado. La pestaña detalle de pedido solo es visible desde pedido. </div><div>Errores de la abm:</div><div>1.- Productos: no me carga  la imagen en la ventana modal. Creo que estoy haciendo mal el script en esta parte</div><div>         modal.find('.modal-body .im').attr('src', modal.attr(valorIM))</div><div><br></div><div>en el modal esta linea quiero cambiar </div><div><div> <img src="" class="form-control im" style="width: 240px; height: 240px;"   alt=""></div><div>                  </div></div><div><br></div><div><div> <script type="text/javascript"></div><div><span style="white-space:pre-wrap">       </span>        $('#modalEditProductos').on('show.bs.modal',function(event){</div><div><span style="white-space:pre-wrap"> </span>          var boton = $(event.relatedTarget)</div><div><span style="white-space:pre-wrap">        </span>          </div><div><span style="white-space:pre-wrap">  </span>          var valorID = boton.data('id')</div><div><span style="white-space:pre-wrap">    </span>          var valorCD = boton.data('cd')</div><div><span style="white-space:pre-wrap">    </span>          var valorDS = boton.data('ds')</div><div><span style="white-space:pre-wrap">    </span>          var valorPU = boton.data('pu')</div><div><span style="white-space:pre-wrap">    </span>          var valorPM = boton.data('pm')</div><div><span style="white-space:pre-wrap">    </span>          var valorPE = boton.data('pe')</div><div><span style="white-space:pre-wrap">    </span>          var valorPK = boton.data('pk')</div><div><span style="white-space:pre-wrap">    </span>          var valorCT = boton.data('ct')<span style="white-space:pre-wrap">   </span></div><div><span style="white-space:pre-wrap"> </span>          var valorIM = boton.data('im')</div><div><span style="white-space:pre-wrap">                            </span></div><div><span style="white-space:pre-wrap"> </span>          var modal = $(this)</div><div><br></div><div><span style="white-space:pre-wrap">      </span>          modal.find('.modal-body .id').val(valorID)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .cd').val(valorCD)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .ds').val(valorDS)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .pu').val(valorPU)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .pm').val(valorPM)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .pe').val(valorPE)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .pk').val(valorPK)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .ct').val(valorCT)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .im').val(valorIM)</div><div><span style="white-space:pre-wrap">        </span>          modal.find('.modal-body .im').attr('src', modal.attr(valorIM))</div><div><br></div><div><span style="white-space:pre-wrap">   </span>          </div><div><span style="white-space:pre-wrap">  </span>        });</div><div>      <span style="white-space:pre-wrap"> </span></script></div><div><span style="white-space:pre-wrap">  </span>  </div></div><div><br></div><div>2.- No estoy pudiendo eliminar las categoias. -el problema es la query</div><div><br></div><div><div>$query = "DELETE FROM `categorias` WHERE `categorias`.`idCategoria` = '$id' </div><div><span style="white-space:pre-wrap">                              </span>NOT IN (SELECT `productosycategorias`.`idCategoria` </div><div><span style="white-space:pre-wrap">    </span>            FROM `productosycategorias` )";</div></div><div><br></div><div>Lo que yo entendí es que si si idCategoria no esta en productos y categoria la deberia borrar pero no me anda.</div><div><br></div><div><br></div><div>Espero esta versión que le mando le guste mas.</div><div>Saluldos!</div><div><br></div><div>Version 5 :</div><div><a href="https://drive.google.com/open?id=0BzqLAZvApjLydktybjF3a3I1Z0k" target="_blank">https://drive.google.com/open?id=0BzqLAZvApjLydktybjF3a3I1Z0k</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>El 4 de julio de 2016, 0:28, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Hola Martín,<br>
<br>
        por eso de que una imagen vale más que mil palabras, que si bien no es<br>
cierto, en este caso sirve, te mando unas capturas de los errores que me<br>
tira PHP al usar algunas cosas de la parte administrativa del sitio.<br>
<br>
        El fallo en Clientes es al abrir; los otros son al agregar o editar<br>
Categorías, es es lo más simple que hace la aplicación; cuando quiero<br>
agregar un Producto, no hace nada; editar un Producto no muestra la<br>
imagen.<br>
<br>
        Yo creo que esto significa que no tenés configurado tu PHP para que te<br>
muestre los errores en pantalla, y tampoco los fuiste a leer al log de<br>
errores de Apache... de otra manera no los habrías pasado por alto.<br>
<br>
        Para qué hay un fwrite() en DB/abml.php ??? Falla la sentencia, pero<br>
además no me doy cuenta qué función cumpliría en caso de funcionar.<br>
<br>
        Cómo funciona el "login" y el "registrarse"? Como se hace para aparecer<br>
como un cliente?<br>
<br>
        En algunas querys tenés el nombre de la DB adelante, lo que no es<br>
necesario, lo que hace que la aplicación solo funcione solo con un único<br>
nombre de DB, lo que la hará fallar en casi todas partes, incluso en el<br>
servidor de la FI.<br>
<br>
        Tenés el menú de administración repetido en cada script que lo usa, en<br>
vez de tenerlo en un único archivo y llamarlo con un include() o<br>
similar. Esto significa que agregar una opción al menú implica modificar<br>
de la misma manera varios archivos... la idea del concepto de layout es<br>
justamente que esto no pase.<br>
<br>
        Por hoy, no miro más!<br>
<span><br>
<br>
<br>
El jue, 30-06-2016 a las 19:25 -0300, Martin Urciuoli escribió:<br>
> Profe esta version que le mando las abm funcionan pero no estan<br>
> validadas del lado del servidor, probe con ctype, preg_match y algo<br>
> mas pero no me funciona.<br>
><br>
><br>
> <a href="https://drive.google.com/open?id=0BzqLAZvApjLyekhmeXZfeTliM1k" rel="noreferrer" target="_blank">https://drive.google.com/open?id=0BzqLAZvApjLyekhmeXZfeTliM1k</a><br>
> Saludos!<br>
<br>
><br>
<br>
</span><div><div>--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a><br>
Web: <a href="http://leonardo.tadei.com.ar" rel="noreferrer" target="_blank">http://leonardo.tadei.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" rel="noreferrer" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
</div></div><br></div></div><span>_______________________________________________<br>
Lista de correo: Php-avanzado<br>
Mensajes a la lista: <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar" target="_blank">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
Administración Web: <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" rel="noreferrer" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
Desubscripción: <a href="http://php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe" rel="noreferrer" target="_blank">php-avanzado-request@pato2.fi.mdp.edu.ar?subject=unsubscribe</a><br></span></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>