Foro oficial de PHP

Está enviando los datos del formulario por POST a un Script PHP determinado en el campo "action" del form en la página HTML?
si de hecho lo tengo asi



Código:
<form id="frm_27370" name="frm_27370" method="post" action="tomail.php" onSubmit="enviarForm27370(); return false;">
pero no llegan las variables al archivo php
 
Creo saber por que no me lo crea, si abro el cmd y le doy php C:\ruta\archivo.php no me lo crea ya que estoy en C:\usuarios\miusuario, pero si me encuentro dentro de la carpeta del archivo.php es decir, estando en C:\ruta\ y le doy php archivo.php si me lo crea. Si no estoy mal si me ha funcionado.
 
Alguien me puede ayudar con algo sobre PHP+mysql porfavor??

Este es el asunto:

Este archivo: productoDB.php me muestra en pantalla todos los datos de la tabla productos. Y quiero poner, en esa misma pagina la opcion de borrado de cualquier registro de la tabla, por medio del codigo, y usando una lista desplegable:

PHP:
<?
session_start();
?>
<HTML>
<HEAD>
 <TITLE>productosDBPHP</TITLE>
</HEAD>
<BODY>


<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");
echo '<FORM METHOD="POST" ACTION="borrarProducto.php">Codigo<br>';
mysql_select_db("proyecto2");
$productos=mysql_query("select * from productos order by codProducto");
$borrar=mysql_query("select codProducto from productos order by codProducto");

echo '<select name="codProducto">';
while ($row=mysql_fetch_array($borrar)){
      echo '<option>'.$row["codProducto"];
}
mysql_free_result($borrar)
?>
</select>
<br>
<input type="submit" value="Borrar">
</form>

<table border=2 align="center" cellspacing="2" cellpading="2">
<tr>
    <th>Codigo</th>
    <th>Nombre</th>
    <th>Precio</th>
    <th>Cantidad Existente</th>
</tr>
<?
while ($row=mysql_fetch_array($productos))
{
echo '<tr><td>'.$row["codProducto"].'</td>';
echo '<td>'.$row["nombreProducto"].'</td>';
echo '<td>'.$row["precio"].'</td>';
echo '<td>'.$row["cantidad"].'</td></tr>';
}
mysql_free_result($productos)
?>

</table>

</BODY>
</HTML>

Visualmente me lo muestra todo bien, pero el codigo algo no me funciona, ya que cuando selecciono el codigo que deseo borrar, y al darle click en el boton de borrado, me sale algo asi: Objeto no localizado! ....

Este es el codigo correspondiente para hacer el borrado

PHP:
<?
$codigo=$_REQUEST['codProducto'];
?>
<HTML>
<HEAD>
 <TITLE></TITLE>
</HEAD>
<BODY>
<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");

$sSQL="Delete from productos where codProducto='$codigo'";
mysql_db_query("proyecto2",$sSQL);


?>

</BODY>
</HTML>
 
Alguien me puede ayudar con algo sobre PHP+mysql porfavor??

Este es el asunto:

Este archivo: productoDB.php me muestra en pantalla todos los datos de la tabla productos. Y quiero poner, en esa misma pagina la opcion de borrado de cualquier registro de la tabla, por medio del codigo, y usando una lista desplegable:

PHP:
<?
session_start();
?>
<HTML>
<HEAD>
 <TITLE>productosDBPHP</TITLE>
</HEAD>
<BODY>


<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");
echo '<FORM METHOD="POST" ACTION="borrarProducto.php">Codigo<br>';
mysql_select_db("proyecto2");
$productos=mysql_query("select * from productos order by codProducto");
$borrar=mysql_query("select codProducto from productos order by codProducto");

echo '<select name="codProducto">';
while ($row=mysql_fetch_array($borrar)){
      echo '<option>'.$row["codProducto"];
}
mysql_free_result($borrar)
?>
</select>
<br>
<input type="submit" value="Borrar">
</form>

<table border=2 align="center" cellspacing="2" cellpading="2">
<tr>
    <th>Codigo</th>
    <th>Nombre</th>
    <th>Precio</th>
    <th>Cantidad Existente</th>
</tr>
<?
while ($row=mysql_fetch_array($productos))
{
echo '<tr><td>'.$row["codProducto"].'</td>';
echo '<td>'.$row["nombreProducto"].'</td>';
echo '<td>'.$row["precio"].'</td>';
echo '<td>'.$row["cantidad"].'</td></tr>';
}
mysql_free_result($productos)
?>

</table>

</BODY>
</HTML>

Visualmente me lo muestra todo bien, pero el codigo algo no me funciona, ya que cuando selecciono el codigo que deseo borrar, y al darle click en el boton de borrado, me sale algo asi: Objeto no localizado! ....

Este es el codigo correspondiente para hacer el borrado

PHP:
<?
$codigo=$_REQUEST['codProducto'];
?>
<HTML>
<HEAD>
 <TITLE></TITLE>
</HEAD>
<BODY>
<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");

$sSQL="Delete from productos where codProducto='$codigo'";
mysql_db_query("proyecto2",$sSQL);


?>

</BODY>
</HTML>

Compa, coloca el texto del error exacto que te sale.

Laneros, ustedes como solucionan el problema de las tildes o caracteres especiales, alguna guía?

Intente con el header del utf-8 y no me sirve. Tengo este problema tanto en texto que coloco en el html, como en el que muestro de la base de datos mysql. Para algunos casos he utilizado la función htmlentities y me ha funcionado, pero quiero normalizar este problema en general.

Cuando crean la base de datos, que codificación utilizan? UTF-8?

Saludos.:p
 
aqui estan
 

Archivos adjuntos

  • error1.png
    error1.png
    49.3 KB · Visitas: 89
  • error2.jpg
    error2.jpg
    58.5 KB · Visitas: 97
Laneros, ustedes como solucionan el problema de las tildes o caracteres especiales, alguna guía?

Intente con el header del utf-8 y no me sirve. Tengo este problema tanto en texto que coloco en el html, como en el que muestro de la base de datos mysql. Para algunos casos he utilizado la función htmlentities y me ha funcionado, pero quiero normalizar este problema en general.

Cuando crean la base de datos, que codificación utilizan? UTF-8?

Saludos.:p
Yo había trabajado con la combinación de LATIN1 en BD, encoding de archivos PHP y meta también en LATIN1, para llamados ajax o partes donde fallaran las tíldes normalmente usaba htmlentities y en contadas partes utf8_encode. Ahora con PHP 5.4 resulta que htmlentities tiene por defecto el encoding UTF-8 entonces daña todo, estoy haciendo pruebas precisamente en este momento para migrar un sistema y estoy utilizando UTF-8 como encoding de los archivos PHP, de la BD y también en la etiqueta <meta> y las tíldes me salen bien, sólo tengo problemas al usar unos htmlentities que tengo que revisar pero de resto me salen bien todos los caracteres. Se supone que con UTF-8 se deben reducir (casi que desaparecer) los llamados a htmlentities y también los de utf8_encode (esto por obvias razones)

Le dejo este enlace [1] que está bueno explicando un poco el enredo de los encodings y por qué UTF-8 es bueno. Con Firefox por ej puede jugar ud mirando cómo se vería su página actual con un encoding (Menú->Desarrollador Web->Codificación de caracteres)

[1] http://htmlpurifier.org/docs/enduser-utf8.html
 
Nombre de la página del primer códigoque postea?
Nombre de la página del segundo código?

En la segunda, haga un "echo" del valor que recibe
la variable $codigo, para verificar que se lleva el valor seleccionado...
 
Alguien me puede ayudar con algo sobre PHP+mysql porfavor??

Este es el asunto:

Este archivo: productoDB.php me muestra en pantalla todos los datos de la tabla productos. Y quiero poner, en esa misma pagina la opcion de borrado de cualquier registro de la tabla, por medio del codigo, y usando una lista desplegable:

PHP:
<?
session_start();
?>
<HTML>
<HEAD>
 <TITLE>productosDBPHP</TITLE>
</HEAD>
<BODY>


<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");
echo '<FORM METHOD="POST" ACTION="borrarProducto.php">Codigo<br>';
mysql_select_db("proyecto2");
$productos=mysql_query("select * from productos order by codProducto");
$borrar=mysql_query("select codProducto from productos order by codProducto");

echo '<select name="codProducto">';
while ($row=mysql_fetch_array($borrar)){
      echo '<option>'.$row["codProducto"];
}
mysql_free_result($borrar)
?>
</select>
<br>
<input type="submit" value="Borrar">
</form>

<table border=2 align="center" cellspacing="2" cellpading="2">
<tr>
    <th>Codigo</th>
    <th>Nombre</th>
    <th>Precio</th>
    <th>Cantidad Existente</th>
</tr>
<?
while ($row=mysql_fetch_array($productos))
{
echo '<tr><td>'.$row["codProducto"].'</td>';
echo '<td>'.$row["nombreProducto"].'</td>';
echo '<td>'.$row["precio"].'</td>';
echo '<td>'.$row["cantidad"].'</td></tr>';
}
mysql_free_result($productos)
?>

</table>

</BODY>
</HTML>

Visualmente me lo muestra todo bien, pero el codigo algo no me funciona, ya que cuando selecciono el codigo que deseo borrar, y al darle click en el boton de borrado, me sale algo asi: Objeto no localizado! ....

Este es el codigo correspondiente para hacer el borrado

PHP:
<?
$codigo=$_REQUEST['codProducto'];
?>
<HTML>
<HEAD>
 <TITLE></TITLE>
</HEAD>
<BODY>
<?
mysql_connect("localhost","estudio","*****") or die ("Denegado");

$sSQL="Delete from productos where codProducto='$codigo'";
mysql_db_query("proyecto2",$sSQL);


?>

</BODY>
</HTML>

Compa, el borrarproducto.php lo tenes dentro de alguna carpeta? Lo que entiendo es que el link no encuentra el archivo, revisa la ruta.





Yo había trabajado con la combinación de LATIN1 en BD, encoding de archivos PHP y meta también en LATIN1, para llamados ajax o partes donde fallaran las tíldes normalmente usaba htmlentities y en contadas partes utf8_encode. Ahora con PHP 5.4 resulta que htmlentities tiene por defecto el encoding UTF-8 entonces daña todo, estoy haciendo pruebas precisamente en este momento para migrar un sistema y estoy utilizando UTF-8 como encoding de los archivos PHP, de la BD y también en la etiqueta <meta> y las tíldes me salen bien, sólo tengo problemas al usar unos htmlentities que tengo que revisar pero de resto me salen bien todos los caracteres. Se supone que con UTF-8 se deben reducir (casi que desaparecer) los llamados a htmlentities y también los de utf8_encode (esto por obvias razones)

Le dejo este enlace [1] que está bueno explicando un poco el enredo de los encodings y por qué UTF-8 es bueno. Con Firefox por ej puede jugar ud mirando cómo se vería su página actual con un encoding (Menú->Desarrollador Web->Codificación de caracteres)

[1] http://htmlpurifier.org/docs/enduser-utf8.html

Compa, muchas gracias por la info.

Sent from my SGH-I897 using Tapatalk 2
 
Yo creo que el error esta en:

PHP:
echo '<option>'.$row["codProducto"];

Debería ser:

PHP:
echo '<option value="'.$row["codProducto"].'">'.$row["codProducto"].'</option>';

Así se envía el valor del producto a borrar...
 
un posible error, podría ser al tener la pagina: productobd.PHP dentro de un iframe?? o no tiene nada q ver eso??

mas tarde miro lo q han comentado q estoy escribiendo desde el celular
 
Bueno, problema resuelto...

Sacando la opcion y todo el codigo referente al borrado, y poniendolo fuera del iframe que estaba manejando y funcionaba al pelo... al parecer el problema es relacionado con algo del submit del boton borrar ...
 
Ayuda para enviar archivo adjunto por correo

por favor nuevamente acudo a su gran sabiduría informática .... Laneros ... por favor, he estado haciendo un formulario que tiene solo una caja de texto y uno para adjuntar un archivo, la idea es que cuando suban un archivo que se supone que es un curriculum, al momento de enviarlo lo envie como archivo adjunto por email.

este es el formulario html:

Código:
           <form name="form1" method="post" action="subearchivo.php"            enctype="multipart/form-data">
      
          Puesto al que postula:
    
     
          <label for="puesto"></label>
          <input name="puesto" type="text" id="puesto" size="60">
	  <input type="hidden" name="MAX_FILE_SIZE" value="1000000">	
          <input type="file" name="archivo" id="archivo" value="Examinar">
          <input type="submit" name="Enviar" id="enviar" value="Enviar">
	</form>

Se que el archivo esta un poco desordenado pero eso es lo de menos, ya yo lo arreglos despues.

Ahora este es el codigo subearchivo.php:

PHP:
<?php 
  
foreach($_FILES["archivo"] as $clave => $valor){
	echo "Propiedad: $clave --- Valor: $valor<br/>";
}

$archivo = $_FILES["archivo"]["tmp_name"];
$destino = "fotos/".$_FILES["archivo"]["name"];

move_uploaded_file($archivo,$destino);
echo "Archivo Subido :)";

?>

Lo que he hecho hasta ahora es solo cargarlo al servidor en una carperta llamada fotos, sin embargo necesito enviar ese archivo por correo.

Les agradeceria bastante .. por favor salvenme de esta!!!! PLEASEE!!!!
 
Lo que he hecho hasta ahora es solo cargarlo al servidor en una carperta llamada fotos, sin embargo necesito enviar ese archivo por correo.

Les agradeceria bastante .. por favor salvenme de esta!!!! PLEASEE!!!!


te recomiendo phpmail, solo le pones al objeto la ruta del archivo y automaticamente te lo adjunta
 
Ayuda formulario con phpmailer

Bueno me di cuenta que phpmailer ya estaba instalado en el hosting que me dan, o sea en el servidor, asi que hize este formulario:

PHP:
<?php 
  
foreach($_FILES["archivo"] as $clave => $valor){
	echo "Propiedad: $clave --- Valor: $valor<br/>";
}

$archivo = $_FILES["archivo"]["tmp_name"];
$nombrearchivo = $_FILES["archivo"]["name"];
$destino = "fotos/".$_FILES["archivo"]["name"];

move_uploaded_file($archivo,$destino);
echo "Archivo Subido :)";

//=============================
require_once('includes/phpmailer/class.phpmailer.php');

$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->From = "WebCreaktivo@creaktivo.com.pe";
$mail->FromName = "Web Creaktivo";
$mail->Subject = "Han enviado un curriculum desde la web";

$address = "info@matrixlifeperu.com";

$mail->AddAddress($address, "Ander");

$mail->Body = "La persona que ajunto este curriculum esta postulando a: ";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->AddAttachment($archivo,$nombrearchivo);



if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Mensaje Enviado!";
}

?>

Ahora me envia el correo :D ..... PERO!!!!!
el problema es que : "NO HAY ARCHIVO ADJUNTO"
....
es porque esta escrito mal la funcion??? .. porque al final me dice "mensaje enviado"

ayudenme por favor que problema puede estar sucediendo?
 
Bueno me di cuenta que phpmailer ya estaba instalado en el hosting que me dan, o sea en el servidor, asi que hize este formulario:

PHP:
<?php 
  
foreach($_FILES["archivo"] as $clave => $valor){
	echo "Propiedad: $clave --- Valor: $valor<br/>";
}

$archivo = $_FILES["archivo"]["tmp_name"];
$nombrearchivo = $_FILES["archivo"]["name"];
$destino = "fotos/".$_FILES["archivo"]["name"];

move_uploaded_file($archivo,$destino);
echo "Archivo Subido :)";

//=============================
require_once('includes/phpmailer/class.phpmailer.php');

$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->From = "WebCreaktivo@creaktivo.com.pe";
$mail->FromName = "Web Creaktivo";
$mail->Subject = "Han enviado un curriculum desde la web";

$address = "info@matrixlifeperu.com";

$mail->AddAddress($address, "Ander");

$mail->Body = "La persona que ajunto este curriculum esta postulando a: ";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->AddAttachment($archivo,$nombrearchivo);



if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Mensaje Enviado!";
}

?>

Ahora me envia el correo :D ..... PERO!!!!!
el problema es que : "NO HAY ARCHIVO ADJUNTO"
....
es porque esta escrito mal la funcion??? .. porque al final me dice "mensaje enviado"

ayudenme por favor que problema puede estar sucediendo?
esta mal la funcion
AddAttachment($path, $name = "", $encoding = "base64", $type = "application/octet-stream")

ya que al hacer el move_uploaded_file el archivo desaparece de la carpeta temporal, intenta poniendo $destino en lugar de $archivo
 
Otra consulta

esta mal la funcion
AddAttachment($path, $name = "", $encoding = "base64", $type = "application/octet-stream")

ya que al hacer el move_uploaded_file el archivo desaparece de la carpeta temporal, intenta poniendo $destino en lugar de $archivo

muchas gracias Amigo ... eres todo un Maestro .. jeje .... ahora otra consulta en parte inicial de codigo:

PHP:
foreach($_FILES["archivo"] as $clave => $valor){ 
    echo "Propiedad: $clave --- Valor: $valor<br/>"; 
} 

$archivo = $_FILES["archivo"]["tmp_name"]; 
$nombrearchivo = $_FILES["archivo"]["name"]; 
$destino = "fotos/".$_FILES["archivo"]["name"]; 

move_uploaded_file($archivo,$destino); 
echo "Archivo Subido :)";

que es lo que deberia agregar para que al subir un archivo que tenga el mismo nombre que uno que esta en el servidor y no lo reemplaze si no que cree otro ... supongamos:

Alguien sube un archivo "cv.doc"
y otra persona subiera lo mismo como es de comprender ya que son curriculums ...
La idea es que el archivo que se suba no reemplaze al anterior si no se ponga como cv1.doc, cv2.doc asi por el estilo.

de antemano gracias.
 

Los últimos mensajes

Los últimos temas