[opensuse-es] php y script apache
hola lista , de un tiempo para acá actualice unas librerías de php en mi opensuse 10.2 en ese servidor tengo algunas paginas con dominios virtuales y una de ellas tiene un pequeño script de php que te permite enviar un mensaje , correo , teléfono a una cuenta de correo especifica pues viéndola hoy la pagina me encuentro que el script en los campos donde introduces la info te muestra el codigo php ... puffffff salto de mi silla , veo los log del apache cuando entro a la pagina del script y no me muestra ningún error peculiar ... ojo comencé a ver como activar los log del php en php.ini log_errors = On , pero todavía no les doy ... alguna idea lista ... saludoss -- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
troxlinux escribió:
hola lista , de un tiempo para acá actualice unas librerías de php en mi opensuse 10.2 en ese servidor tengo algunas paginas con dominios virtuales y una de ellas tiene un pequeño script de php que te permite enviar un mensaje , correo , teléfono a una cuenta de correo especifica pues viéndola hoy la pagina me encuentro que el script en los campos donde introduces la info te muestra el codigo php ... puffffff salto de mi silla , veo los log del apache cuando entro a la pagina del script y no me muestra ningún error peculiar ...
ojo comencé a ver como activar los log del php en php.ini log_errors = On , pero todavía no les doy ...
alguna idea lista ...
saludoss
-- rickygm
buenas, yo creo que el problema esta en la sintaxis html, posiblemente apache esté imprimiendo como texto el código del script. De todos modos sería de gran ayuda, si pusieses el código en la medida en la que la confidencialidad lo permita. Saludos -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
hola lista , de un tiempo para acá actualice unas librerías de php en mi opensuse 10.2 en ese servidor tengo algunas paginas con dominios
Qué librerías ? Que versión de PHP, la 4 o la 5 ?
especifica pues viéndola hoy la pagina me encuentro que el script en los campos donde introduces la info te muestra el codigo php ...
Es una página *.html o es una página *.php ? Has comprobado que PHP esté en funcionamiento ?
puffffff salto de mi silla , veo los log del apache cuando entro a la pagina del script y no me muestra ningún error peculiar ...
Te ocurre en navegadores deferentes ?, Has probado desde otra máquina ? Podría ser un problema en la configuración del navegador del cliente.
alguna idea lista ...
La primera es que des un poco más de informacióm. :-) La segunda es que compruebes que PHP está funcionando y también que en los tipos MIME en la configuración de Apache tengas definido el tipo PHP. Algo así suponiendo que uses PHP5: AddHandler php5-script .php AddType text/html .php También puedes añadirlo en el ".htaccess" del directorio raiz del sitio.
El 31/12/08, troxlinux escribió:
hola lista , de un tiempo para acá actualice unas librerías de php en mi opensuse 10.2 en ese servidor tengo algunas paginas con dominios virtuales y una de ellas tiene un pequeño script de php que te permite enviar un mensaje , correo , teléfono a una cuenta de correo especifica pues viéndola hoy la pagina me encuentro que el script en los campos donde introduces la info te muestra el codigo php ... puffffff salto de mi silla , veo los log del apache cuando entro a la pagina del script y no me muestra ningún error peculiar ...
¿Has probado con algún otro script en php para ver si funciona? :-?
ojo comencé a ver como activar los log del php en php.ini log_errors = On , pero todavía no les doy ...
En php.ini tienes dos variables: log_errors y error_log. Con la primera activada (viene así de manera predeterminada) activas el registro de errores para enviar a un archivo y si no cambias el destino con la otra variable (error_log), escribe en el log de error del apache. Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 31 de diciembre de 2008 2:37, J.M.Queralt
Qué librerías ? Que versión de PHP, la 4 o la 5 ?
la version es PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 20 2008 19:40:01) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
Es una página *.html o es una página *.php ?
es una pagina extension php
Has comprobado que PHP esté en funcionamiento ?
si tengo otras herramientas en php como cacti , mailgraph
Te ocurre en navegadores deferentes ?, Has probado desde otra máquina ?
si en firefox y en el IE
Podría ser un problema en la configuración del navegador del cliente.
no creo ..
La primera es que des un poco más de informacióm. :-)
pues le comento que en la instalacion primera de este servidor web después de recién instalado y parchadito hace como 1 año y medio estaba corriendo el script bien bien , hace dos meses lo actualice el server y la paseeee toda ...
La segunda es que compruebes que PHP está funcionando y también que en los tipos MIME en la configuración de Apache tengas definido el tipo PHP. Algo así suponiendo que uses PHP5:
AddHandler php5-script .php AddType text/html .php
umm tengo mis dudillas aquí , porque yo cuando instale el server solo instale las dependencias de php necesarias y nunca toque esto..
También puedes añadirlo en el ".htaccess" del directorio raiz del sitio.
saludoss -- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El día 30 de diciembre de 2008 19:11, Alfonso Otero
yo creo que el problema esta en la sintaxis html, posiblemente apache esté imprimiendo como texto el código del script. De todos modos sería de gran ayuda, si pusieses el código en la medida en la que la confidencialidad lo permita.
posteo el código si alguien le sirve aquí esta , es sencillo: o talvez lo mejoramos jejej ;) <? $form_block = "<form method=\"Post\" Action=\"$_SERVER[PHP_SELF]\"> <strong>Nombre:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_name\" VALUE=\"$_POST[sender_name]\" SIZE=30></p> <p><strong>Email:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_email\" VALUE=\"$_POST[sender_email]\" SIZE=30></p> <p><strong>Telefono:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_tel\" VALUE=\"$_POST[sender_tel]\" SIZE=30></p> <p><strong>Mensaje:</strong><br> <TEXTAREA NAME=\"message\" COLS=30 ROWS=5 WRAP=virtual>$_POST[message] </TEXTAREA><br> <INPUT TYPE=\"hidden\" name=\"op\" value=\"ds\"> <p><INPUT TYPE=\"submit\" Name=\"submit\" VALUE=\"Enviar\"></p> </form>"; if ($_POST[op] != "ds") { // They need to see the form echo "$form_block"; } else if ($_POST[op] == "ds") { if ($_POST[sender_name] == "") { $name_err = "<font color=red>Please enter your name!</font><br>"; $send = "no"; } //check value of user name if ($_POST[sender_email] == ""){ $email_err = "<font color=red>Please enter your e-mail address!</font><br>"; $send ="no"; } //check value of user tel if ($_POST[sender_tel] == ""){ $email_err = "<font color=red>Please enter your tel!</font><br>"; $send ="no"; } //check value of message if ($_POST[message] == "") { $message_err = "<font color=red>Please enter a message!</font><br>"; $send = "no"; } //check value of tel if ($send != "no") { // if all is filled in it's ok to send! $to = "ricardo@netsoluciones.net"; $subject = "Cotizacion sobre Servicios"; $mailheaders = "From: Soporte Web Netsoluciones<> \n"; $mailheaders .= "Reply-To: $_POST[sender_email]\n\n"; $msg = "E-Mail Sent From: Empresas\n"; $msg .= "Sender's Name: $_POST[sender_name]\n"; $msg .= "Sender's E-Mail: $_POST[sender_email]\n"; $msg .= "Sender's peticion: $_POST[sender_tel]\n"; $msg .= "Message: $_POST[message]\n\n"; mail($to, $subject, $msg, $mailheaders); echo "<p><center><h2>Su correo ha sido enviado con Exito!!</h2></center></p>"; } //display confirmation to user else if ($send =="no"){ //print error messages echo "$name_err"; echo "$email_err"; echo "$tel_err"; echo "$message_err"; echo "$form_block"; }} ?> -- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
troxlinux escribió:
El día 30 de diciembre de 2008 19:11, Alfonso Otero
escribió: yo creo que el problema esta en la sintaxis html, posiblemente apache esté imprimiendo como texto el código del script. De todos modos sería de gran ayuda, si pusieses el código en la medida en la que la confidencialidad lo permita.
posteo el código si alguien le sirve aquí esta , es sencillo:
o talvez lo mejoramos jejej ;)
<? $form_block = "<form method=\"Post\" Action=\"$_SERVER[PHP_SELF]\"> <strong>Nombre:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_name\" VALUE=\"$_POST[sender_name]\" SIZE=30></p> <p><strong>Email:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_email\" VALUE=\"$_POST[sender_email]\" SIZE=30></p> <p><strong>Telefono:</strong><br> <INPUT TYPE=\"text\" NAME=\"sender_tel\" VALUE=\"$_POST[sender_tel]\" SIZE=30></p> <p><strong>Mensaje:</strong><br> <TEXTAREA NAME=\"message\" COLS=30 ROWS=5 WRAP=virtual>$_POST[message] </TEXTAREA><br> <INPUT TYPE=\"hidden\" name=\"op\" value=\"ds\"> <p><INPUT TYPE=\"submit\" Name=\"submit\" VALUE=\"Enviar\"></p> </form>"; if ($_POST[op] != "ds") { // They need to see the form echo "$form_block"; } else if ($_POST[op] == "ds") { if ($_POST[sender_name] == "") { $name_err = "<font color=red>Please enter your name!</font><br>"; $send = "no"; } //check value of user name if ($_POST[sender_email] == ""){ $email_err = "<font color=red>Please enter your e-mail address!</font><br>"; $send ="no"; } //check value of user tel if ($_POST[sender_tel] == ""){ $email_err = "<font color=red>Please enter your tel!</font><br>"; $send ="no"; } //check value of message if ($_POST[message] == "") { $message_err = "<font color=red>Please enter a message!</font><br>"; $send = "no"; } //check value of tel if ($send != "no") { // if all is filled in it's ok to send! $to = "ricardo@netsoluciones.net"; $subject = "Cotizacion sobre Servicios"; $mailheaders = "From: Soporte Web Netsoluciones<> \n"; $mailheaders .= "Reply-To: $_POST[sender_email]\n\n"; $msg = "E-Mail Sent From: Empresas\n"; $msg .= "Sender's Name: $_POST[sender_name]\n"; $msg .= "Sender's E-Mail: $_POST[sender_email]\n"; $msg .= "Sender's peticion: $_POST[sender_tel]\n"; $msg .= "Message: $_POST[message]\n\n"; mail($to, $subject, $msg, $mailheaders); echo "<p><center><h2>Su correo ha sido enviado con Exito!!</h2></center></p>"; } //display confirmation to user else if ($send =="no"){ //print error messages echo "$name_err"; echo "$email_err"; echo "$tel_err"; echo "$message_err"; echo "$form_block"; }} ?>
Buenas, puede ser que apache no interprete el simbolo "" como apertura de un script php, prueba a poner "
ummm ahora le puse la opcion escribió:
Buenas, puede ser que apache no interprete el simbolo "" como apertura de un script php, prueba a poner "
Si quieres puedes modificar /etc/php5/apache2/php.ini poniendo la variable *short_open_tag *a on o bien editar todos los lugares donde tengas sustituyéndolo por
Saludos
-- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
troxlinux escribió:
ummm ahora le puse la opcion
Notice: Undefined index: sender_name in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 36 Notice: Undefined index: sender_email in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 39 Notice: Undefined index: sender_tel in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 42 Notice: Undefined index: message in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 44 Notice: Use of undefined constant op - assumed 'op' in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 49 Notice: Undefined index: op in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 49
no reconoce las variables o etiquetas
pero ya no me muesta el codigo en si ..
saludoss
El día 31 de diciembre de 2008 13:03, Alfonso Otero
escribió: Buenas, puede ser que apache no interprete el simbolo "" como apertura de un script php, prueba a poner "
Si quieres puedes modificar /etc/php5/apache2/php.ini poniendo la variable *short_open_tag *a on o bien editar todos los lugares donde tengas sustituyéndolo por
Saludos
tienes un error en los nombres de las variables que se envían por POST la sintaxis correcta sería con el nombre de la variable entre comillas simples. Por ejemplo: $_POST[ 'nombre_variable' ] El siguiente problema que se te planteará es que el array $_POST[] puesto "a pelo" dentro de una cadena. Tendrás que cerrarla, incluír la variable y luego cerrarla. Por ejemplo: echo "Cualquier texto " . $_POST[ 'nombre_variable' ] . " continuamos con el texto"; Espero que te sirva de ayuda. Feliz año 2009 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Vale me perdiste , espero no abusar .. aplicándolo al script si pongo
las comillas simples el apache me tira un errorrr dentro de la linea
36 , osea la primera linea donde aplico el $_POST al script
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE,
expecting T_STRING or T_VARIABLE or T_NUM_STRING in
/srv/www/vhosts/sellosraly.com.ni/htdocs/cotice.php on line 36
disculpas en php soy casi nulo , y este script hace un buen tiempo me
lo tire como en una semana aa golpes y patadas ...
<?php
$form_block = "<form method=\"Post\" Action=\"$_SERVER[PHP_SELF]\">
<strong>Nombre:</strong><br>
<INPUT TYPE=\"text\" NAME=\"sender_name\"
VALUE=\"$_POST['sender_name']\" SIZE=30></p>
<p><strong>Email:</strong><br>
<INPUT TYPE=\"text\" NAME=\"sender_email\"
VALUE=\"$_POST[sender_email]\" SIZE=30></p>
<p><strong>Telefono:</strong><br>
<INPUT TYPE=\"text\" NAME=\"sender_tel\"
VALUE=\"$_POST[sender_tel]\" SIZE=30></p>
<p><strong>Mensaje:</strong><br>
<TEXTAREA NAME=\"message\" COLS=30 ROWS=5 WRAP=virtual>$_POST[message]
</TEXTAREA><br>
<INPUT TYPE=\"hidden\" name=\"op\" value=\"ds\">
<p><INPUT TYPE=\"submit\" Name=\"submit\" VALUE=\"Enviar\"></p>
</form>";
if ($_POST[op] != "ds") {
// They need to see the form
echo "$form_block";
}
else if ($_POST[op] == "ds") {
if ($_POST[sender_name] == "") {
$name_err = "<font color=red>Please enter your name!</font><br>";
$send = "no";
} //check value of user name
if ($_POST[sender_email] == ""){
$email_err = "<font color=red>Please enter your e-mail address!</font><br>";
$send ="no";
} //check value of user tel
if ($_POST[sender_tel] == ""){
$email_err = "<font color=red>Please enter your tel!</font><br>";
$send ="no";
} //check value of message
if ($_POST[message] == "") {
$message_err = "<font color=red>Please enter a message!</font><br>";
$send = "no";
} //check value of tel
if ($send != "no") {
// if all is filled in it's ok to send!
$to = "ricardo@netsoluciones.net";
$subject = "Cotizacion sobre Servicios";
$mailheaders = "From: Soporte Web Netsoluciones<> \n";
$mailheaders .= "Reply-To: $_POST[sender_email]\n\n";
$msg = "E-Mail Sent From: Empresas\n";
$msg .= "Sender's Name: $_POST[sender_name]\n";
$msg .= "Sender's E-Mail: $_POST[sender_email]\n";
$msg .= "Sender's peticion: $_POST[sender_tel]\n";
$msg .= "Message: $_POST[message]\n\n";
mail($to, $subject, $msg, $mailheaders);
echo "<p><center><h2>Su correo ha sido enviado con Exito!!</h2></center></p>";
} //display confirmation to user
else if ($send =="no"){
//print error messages
echo "$name_err";
echo "$email_err";
echo "$tel_err";
echo "$message_err";
echo "$form_block";
}}
?>
El día 31 de diciembre de 2008 14:01, Alfonso Otero
El día 31 de diciembre de 2008 13:03, Alfonso Otero
tienes un error en los nombres de las variables que se envían por POST
la sintaxis correcta sería con el nombre de la variable entre comillas simples. Por ejemplo:
$_POST[ 'nombre_variable' ]
El siguiente problema que se te planteará es que el array $_POST[] puesto "a pelo" dentro de una cadena. Tendrás que cerrarla, incluír la variable y luego cerrarla. Por ejemplo:
echo "Cualquier texto " . $_POST[ 'nombre_variable' ] . " continuamos con el texto";
Espero que te sirva de ayuda.
Feliz año 2009 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 31/12/08, troxlinux escribió:
ummm ahora le puse la opcion
¿En la web? Eso lo tienes que desactivar. Dile que envíe al registro en lugar de presentarlo al usuario :-/
Notice: Undefined index: sender_name in /srv/www/vhosts/superdominio.com/htdocs/cotice.php on line 36 Notice:
(...)
no reconoce las variables o etiquetas
pero ya no me muesta el codigo en si ..
Es un mensaje de aviso (notice), no de fallo (error). Lo que te dice es que no está definida, tendrás que verificarlo antes ("isset" creo que era, consulta el manual de php). Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
ok listo desactive los mensajes del notice en php.ini , gracias
camaleon , alfonso y todos
very thank ....
El día 31 de diciembre de 2008 15:49, Camaleón
Es un mensaje de aviso (notice), no de fallo (error). Lo que te dice es que no está definida, tendrás que verificarlo antes ("isset" creo que era, consulta el manual de php).
-- rickygm -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2009/1/1, troxlinux:
ok listo desactive los mensajes del notice en php.ini , gracias camaleon , alfonso y todos
Lo que tienes que desactivar no son los avisos de "notice", sino la salida por pantalla de esos mensajes, es decir, el usuario no debe ver esos mensajes. Los errores y avisos tiene que ir al log de error del apache, pero no debes desactivarlos. Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (4)
-
Alfonso Otero
-
Camaleón
-
J.M.Queralt
-
troxlinux