PHP - Informacion del Formular no salen

 
Vista:
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por me45632 (56 intervenciones) el 22/09/2018 11:55:27
Aupa , decir que soy bastante nuevo con PHP....

mi problema... , tengo dos fichero en php .

Uno prove_contakt2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php  ### messages.php ### utf8 ### äöüÄÖÜ ###
    header('Content-Type: text/html; Charset=utf-8');
    mb_internal_encoding('UTF-8');
    date_default_timezone_set('Europe/Berlin');
?>
<!doctype html/>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
	<title>Prove</title>
<style>
 
 
</style>
</head>
<body>
 
<form  action="/var/www/html/test.php" method="post" name="post">
			<label for="email">E-Mail</label>
                        <input type="email" id="email" name="email" />
                        <label for="name">Name</label>
                        <input id="name" name="name" />
 
         <br>
			<label> Message: <br><textarea cols="45" rows="6"  name="message"></textarea><br></label>
         <p>
			<button  type="submit" name="post"  value="POST COMMENT">POST COMMENT</button>
         </p>
         <br>
 
 
 
 
 
</form>
 
 
 
</body>
</html>


El segundo prove.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
 
<?php
 
error_reporting(-1);
ini_set('display_errors', true);
 
 
 
include "http://localhost/prove_contakt2.php";
 echo "<h2>Comments:</h2>";
if(empty($_POST['name'])  ||
		   empty($_POST['email']) ||
		   empty($_POST['message'])) {
 
   echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";
}
else
{
 
         $name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING);
	 $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
	 $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
 
    echo "<br>"
	      . "<b>From: </b>" . htmlspecialchars( $name     )
        . "<b> at :</b>" . htmlspecialchars( $email)
        . "<br><br>" . htmlspecialchars( $message  )
        . "<br><hr>";
 
 
?>
 
</body>
</html>

El problema es , que cuando relleno los datos , le doy al submit , seme habre una ventana que dice ,

The requested URL /var/www/html/test.php was not found on this server.


Me podria ayudar algien con este problema .. , llevo una semana intentando solucionar este problema , pero todavia no lo he consegido solucionar..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por me45632 (56 intervenciones) el 22/09/2018 12:56:31
Se me ha olvidado decir que prove_contakt2.php y test.php los tengo juntos en /var/www/html , por eso no entiendo cuando dice que no encuentra test.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 23/09/2018 05:57:48
buenos dias don me

en prove_contakt2.php, en el form esta mandando llamar a test.php, tal vez deberia llamar a prove.php, haga el cambio y nos comenta.


<form action="/var/www/html/test.php" method="post" name="post">

en el caso de linux son importantes las minusculas y las mayusculas, si el archivo se llama Test.php no lo va a encontrar, si el directorio se llama Html o HTML no lo va a encontrar, verifique los nombres de los archivos y los nombres de los directorios.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por me45632 (56 intervenciones) el 23/09/2018 09:25:17
Aupa , muchas gracias por tu respuesta !


en prove_contakt2.php, en el form esta mandando llamar a test.php, tal vez deberia llamar a prove.php, haga el cambio y nos comenta.


he hecho como tu dices aunque no tenga ningun fichero que se llame prove.php , y como no lo tengo no me ha salido nada...


en el caso de linux son importantes las minusculas y las mayusculas, si el archivo se llama Test.php no lo va a encontrar, si el directorio se llama Html o HTML no lo va a encontrar, verifique los nombres de los archivos y los nombres de los directorios.


So , desde mi Browser habro el archivo en el directorio donde estan loa archivos , prove_contakt2.php y test.php , que es esta direccion /var/www/html no se me habre en la ventana , sino que se me habre una ventana que me dice donde la quiero abrir , lo que normalmente esto no passa..., encambio cuando escribo la direccion , http://localhost/prove_contakt2.php , seme habre la ventana sin problemas...

Antes de hacer esto le doy a

sudo systemctl restart apache2.service


por lo de las minusculas y las mayusculas ya me he fijado , pero el probleme no es ese ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por me45632 (56 intervenciones) el 23/09/2018 18:32:50
no pienso tampoco que sea un problema de permisos , porque les he dado a los dos con;

1
sudo chown -R www-data:www-data /var/www/html/prove.php


1
sudo chown -R www-data:www-data /var/www/html/prove_contakt2.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 23/09/2018 22:37:18
ok, vamos 1 paso a la vez

otorgas acceso a www-data a ldirectorio /var/www/html, quitale el prove.php para que de derechos en todos los ficheros a partir de html, y el -R es para que el derecho se aplique tambien en subdirectorios.

ok, otra forma de hacerlo es abrir la terminal y escribir

sudo nautilus

vas al directorio html, le pides las propiedades y ahi mismo le cambias el acceso a www-data (o a cualquier otro), ahi mismo tienes la opcion para aplicar en subdirectorios, es lo mismo que usar chown.

en el caso que diste solo estas otorgando derechos en esos 2 arhcivos unicamente, en este caso particular el -R no creo que aplique pero corrijanme si estoy mal.

otra forma es dar

1
sudo chmod -R 777 /var/www/html

una vez que otorgues los permisos necesitas verificar que el directorio de trabajo esta bien direccionado.

por default linux crea el directorio /var/www/html

ve a /etc/apache2 edita el archivo apache2.conf, verifica si esta definido el directorio /var/www/ de esta forma

1
2
3
4
5
<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

y por ultimo.

apache busca siempre el archivo index.html, si no esta en el directorio entonces te muestra la lista de archivos, aqui puedes elegir el archivo que necesitas, esto es lo que esta pasando?

si es el caso entonces debes mandar llamar al archivo por su nombre

http://Tu.Sitio.Web/prove_contakt2.php

has la prueba y nos avisas.

no modifiques el apache2.conf

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 24/09/2018 09:06:47
Aupa , muchas gracias por tu ayuda !


he hecho lo que medices y tengo todo lo que dices


apache busca siempre el archivo index.html, si no esta en el directorio entonces te muestra la lista de archivos, aqui puedes elegir el archivo que necesitas, esto es lo que esta pasando?


cuando intento abrir los archivos prove.php y prove_contakt2.php en el Browser , File + Open File , le doy a uno de estos dos archivos y no se me habren , sino que se me habre una ventana que me pregunta conque quiero habrir estos achivos , por ejemplo con algun programa que me enseña ....

si es el caso entonces debes mandar llamar al archivo por su nombre

es asi como habro los archivos...

http://localhost/prove_contakt2.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 24/09/2018 09:44:45
pero porque cuando en prove_kontakt2.php , relleno E-Mail , Name y Comments , pulso a Post Comment y se me habre una Ventana que dice :


Not Found

The requested URL /var/www/html/prove_contakt2.php was not found on this server.


es porque el Code nolo tengo bien ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 24/09/2018 14:48:47
ok, no deberias usar file + open, con dar la direccion http lo debe abrir

http://localhost/prove_contakt2.php

aqui hay algo que ya no cuadra: dices tener el archivo prove_contakt2.php ... pero no tienes el prove.php? ayudame con los nombres de los archivos por favor, mientras tanto voy a dar por hecho que el archivo prove.php si existe ya que es el nombre del archivo que muestras en tu primer post.

si usando esta http://localhost/prove_contack2.php y abre la pagina web entonces la configuracion con Apache debe estar bien, por lo que no debes poner todo el path en el form.

el form esta asi:

<form action="/var/www/html/test.php" method="post" name="post">

cambialo a:

<form action="prove.php" method="post" name="post">

para el caso del subdirectorio este se debe incluir a continuacion de html UNICAMENTE si tienes el archivo dentro de un subdirectorio, por ejemplo: si tienes este path /var/www/html/solicitudes entonces en el post debes incluir el subdirectorio solicitudes/ejemplo.php, no es necesario poner todo el path desde var hasta solicitudes.

form es el encargado de mandar llamar al segundo archivo cuando pulsas un boton submit, aqui parte el problema, cual es el nombre correcto de los archivos?

prove_contakt2.php o prove_kontack2.php?
prove.php o test.php?

recuerda escribir los nombres exactamente como estan en el directorio http, creo que el problema es que no estas escribiendo el nombre correcto.

esto no arregla todo el problema, aun hay bastantes detalles que aclarar en el segundo archivo asi que no hemos terminado.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 24/09/2018 18:38:40
Perdona que te lie con los nombres.... prove_contakt2.php es como lo tengo , prove.php es falso , perdona me he he equivocado , el nombre que tengo es test.php .


No tengo ningun subdirectorio , todos los archivos los tengo en /var/www/html


y muchas gracias por tu ayuda !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 25/09/2018 04:13:37
ok, entonces el post debe estar de esta manera


<form action="test.php" method="post" name="post">

si estan el prove_contakt2 y el test en el mismo directorio html no es necesario incluir todo el path, como te decia, a menos que el archivo que necesitas este en algun otro subdirectorio.

aqui entonces hay que comprobar el nombre del archivo test, verifica que este todo en minusculas.

si aun asi falla entonces el problema esta en otro lugar.

al marcar el error php debe indicar el nombre del archivo de origen, el numero de la linea y el error, por favor incluye todo el mensaje.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 25/09/2018 17:44:35
Aupa ! , muchas gracias por segirme apoyando !

ok, entonces el post debe estar de esta manera

<form action="test.php" method="post" name="post">


lo he puesto


si estan el prove_contakt2 y el test en el mismo directorio html no es necesario incluir todo el path, como te decia, a menos que el archivo que necesitas este en algun otro subdirectorio.


los tengo todos en el mismo directorio

/var/www/html


aqui entonces hay que comprobar el nombre del archivo test, verifica que este todo en minusculas.

los tengo todos en minuscula


al marcar el error php debe indicar el nombre del archivo de origen, el numero de la linea y el error, por favor incluye todo el mensaje.


hago ...

sudo systemctl restart apache2.service

cuando relleno el formulario , le doy al boton , y se me abre una ventana en blanco ... , y en la direccion del Browser pone http://localhost/test.php




en el archivo /etc/php/7.2/apache2/php.ini

en la parte de error tengo esto :

display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off

; error_reporting
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 25/09/2018 21:15:42
Aunque tenga los dos archivos en /var/www/html he probado con poner el Path al archivo prove_contakt2.php , que queda asi ,

<form action="/var/www/html/test.php" method="post" name="post">


y entoces si que recibo un error pero no como tu me decias , solo meda este error:

Not Found

The requested URL /test.html was not found on this server.

Apache/2.4.18 (Ubuntu) Server at localhost Port 80


Se me havia olvidado responderte a una otra Pregunta tuya ;

ve a /etc/apache2 edita el archivo apache2.conf, verifica si esta definido el directorio /var/www/ de esta forma


1
2
3
4
5
6
7
8
9
<Directory /var/www/>
 
	Options Indexes FollowSymLinks
 
	AllowOverride None
 
	Require all granted
 
</Directory>

he mirado este archivo , y tengo el code que tu dices .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 25/09/2018 22:35:17
Al archivo test.php , le he quitado todo el code PHP , y le he dejado asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!doctype html>
<html>
 
<head>
 
<meta charset="utf-8"/>
 
</head>
 
<body>
 
<p>halo</p>
 
 
 
 </body>
 
</html>

en Bowser escribo localhost/test.php y aparece la palabra halo , el probleme no puede ser como esta escrito el code php ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 25/09/2018 23:01:25
sigo sin entender los nombres de archivo.

se llama test.php o test.html?


The requested URL /test.html was not found on this server.

ahi le estas indicando que busque test.html en root, no en /var/www/html

vamos aclarando esto: quien transfiere el control a test.php (si es que asi se llama) es <Post>, quitaste el path y dejaste solamente el nombre test.php?

has esta prueba

http://localhost/ prove_contakt2.php

dime si te muestra la pagina.

despues escribe esta direccion

http://localhost/test.php

dime si marca error y agrega el error.

si muestra las 2 paginas entonces algo cambiaste en php.ini o en apache y debes restaurarlo.

o tal vez no cambiasste la direccion del archivo en <form> y lo dejaste como action="/var/www/html/test.php" y apache busca el archivo en /var/www/html/var/www/html/test.php y por eso no lo encuentra.

o tal vez lo dejaste como action="/test.php", aqui lo va a mandar buscar en root, no en /var/www/html

avisanos segun lo que marque.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 26/09/2018 18:12:44
se llama test.php o test.html?

test.php

No me havia quedado cuando lo puse ayer.... , el problema podria ser , que en el directorio /var/www/html , tengo un archivo con ese nombre , lo que he hecho para que no me pase lo mismo , he dajado solo los archivos test.php y prove_contakt2.php en /var/www/html , con todos los demas he abierto un nuevo archivo y los he metido alli .



vamos aclarando esto: quien transfiere el control a test.php (si es que asi se llama) es <Post>, quitaste el path y dejaste solamente el nombre test.php?


si , como lo tengo

<form action="test.php" method="post" name="post">


dime si te muestra la pagina.

despues escribe esta direccion

http://localhost/test.php

dime si marca error y agrega el error.


lo que hace es , se pone la pagina en blanco y la direccion en el Browser es http://localhost/test.php

despues escribe esta direccion

http://localhost/test.php

dime si marca error y agrega el error.


la pagina esta en blanco...

o tal vez no cambiasste la direccion del archivo en <form> y lo dejaste como action="/var/www/html/test.php" y apache busca el archivo en /var/www/html/var/www/html/test.php y por eso no lo encuentra.

no , los tengo como te he dicho , en prove_contakt2.php lo tengo asi :

<form action="test.php" method="post" name="post">

en test.php

include "prove_contakt2.php";


Lo que voy hacer es deinstalar apache2 y volverlo a instalarlo y te cuento...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 26/09/2018 22:49:33
ok, ya veo parte del problema.

por favor abre la terminal y escribe

sudo nautilus

le das el password y abres este directorio

/etc/php

en el directorio php mandas buscar el archivo php.ini

tal vez salgan varios php.ini asi que la modificacion la debes hacer en todos.

das click derecho en php.ini y pides editar con gedit

mandas buscar esta instruccion display_errors, tal vez haya varios, busca el que dice display_errors = Off

display_errors = Off

y cambias Off por On

display_errors = On

guardas y cierras.

ya que cambies todos los inis sales de gedit y del explorador y en la terminal escribes

sudo service apache2 stop

ya que termine das este otro comando

sudo service apache2 start

abre tu pagina y dinos los errores que te marque.

no creo que el problema sea apache, aun asi si quieres reinstalar te recomiendo este este manual, es el que uso cada vez que instalo lamp y aparte te ayuda a configurar tu servidor como https

https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/

te recomiendo que sigas la instalación en ese instructivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 27/09/2018 17:49:35
mandas buscar esta instruccion display_errors, tal vez haya varios, busca el que dice display_errors = Off

display_errors = Off

y cambias Off por On

display_errors = On

guardas y cierras.


lo he puesto , y digo "lo" , porque los quatro archivos php.ini estan asi, poque ya los havia cambiando...

display_errors
; Default Value: On
; Development Value: On
; Production Value: Off




abre tu pagina y dinos los errores que te marque.


mi problema ahora es que ayer ha deinstalar apache2 , quite algunos otros archivos y el php no me funciona bien , voy a intentarlo con la direccion que me has dado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 29/09/2018 18:58:40
decirte que ya he instalado todo de nuevo ( lo que no he instalado es MariaDB y MySQL), y sigo teniendo el mismo problema ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 29/09/2018 22:57:35
Ahora me sale el error , pero en numero en mi archivo prove_contakt2.php ..

solo me sale el numero ; 22527, creo que el problema porque antes no salia nada , era porque

1
2
error_reporting(-1);
ini_set('display_errors', true);

lo ponia en mitad , ahora lo pongo arriba , como esta aqui...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
 
error_reporting(-1);
ini_set('display_errors', true);
 
?>
 
<!doctype html>
<html>
 
<head>
 
<meta charset="utf-8"/>
 
</head>
 
<body>
 
 
 
<?php
 
  echo "<h2>Comments:</h2>";
  include "prove_contakt2.php";
  if(empty($_POST['name'])  ||
 
       empty($_POST['email']) ||
 
       empty($_POST['message'])) {
 
 
       echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";
 
   }
   else
   {
 
 
     $name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING);
 
	 $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
 
	 $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
 
 
    echo "<br>"
 
        . "<b>From: </b>" . htmlspecialchars( $name )
 
        . "<b> at :</b>" . htmlspecialchars( $email )
 
        . "<br><br>" . htmlspecialchars( $message )
 
        . "<br><hr>";
 
 
?>
 
 
</body>
 
</html>


estoy intentado entender este error , algo he encontrado https://stackoverflow.com/questions/4678082/what-is-22527-in-error-reporting-22527-of-phpinfo , pero no esque sea muy explicito... , como puedo configurar php.ini , para que me diga mas claro los errores ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 30/09/2018 01:04:09
buenas noches joseba

mira, Error reporting se usa para indicarle a php el modo en el que va detectar y reportar errores.

el caso es qu el in_iset y error_reporting es practicamente lo mismo.

use uno o el otro, no use los 2.

o haga el cambio en php.ini como le indique y quite el error reporting y el ini set.

en programacion web debes tener 2 servidores, el servidor en vivo con el error reporting indicando que no debe mandar mensajes de error y otro servidor de desarrollo que si debe mandar mensajes de error, en ese es en el que debe trabajar y copiar las paginas al servidor en vivo.

aqui entonces tiene esas 3 opciones, mi recomendacion es que modifique el php.ini ya que al pasar las paginas al servidor en vivo ahi se van a omitir los errores ya que el php.ini tiene el display errors = off, pero si olvida quitar el error_reporting o el ini_set de la pagina web se pueden mandar mensajes de error al cliente a pesar del php.ini y eso vulnera su pagina dando informacion que el cliente no debe ver.

otra cosa, cuando salga un error procure incluir el error completo ya que ahi mismo debe dar el numero de linea donde se genera el error.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 30/09/2018 11:26:52
muchas gracias por segirme apoyando !

el caso es qu el in_iset y error_reporting es practicamente lo mismo.

use uno o el otro, no use los 2.


He quitado ini_set('display_errors', true); y he dajado error_reporting(-1); , el code en test.php , lo tengo igual como lo puse ayer . Ahora el error me dice :


Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 75

lo que no entiendo , porque como pudes ver , el Code acaba en la linea 73..... no es que me falta escribir el final del Code ??


.............el ini_set de la pagina web se pueden mandar mensajes de error al cliente a pesar del php.ini y eso vulnera su pagina dando informacion que el cliente no debe ver.


mi idea es , cuando no me haga mas errores , es quitar tambien error_reporting(-1);
y volver poner display errors = off .


yo la semana que viene no trabajo (trabajo de limpia platos..) , te queria preguntar si algun dia podriamos buscar la solucion los dos juntos... , me parece que tu vives en Latino America , asi que nuestro horario es un poco diferente ... ami la hora que podrias me da igual..., es que llevo casi un Mes con este problema y me estoy desperando.... , antes de escribir en este Forum , escribi en dos Forums en Alemania , pero no recibi mucha ayuda... , estoy pensando en preguntar tambien en https://stackoverflow.com , el problema es que ya he preguntado algunas veces https://stackoverflow.com/questions/50992059/comment-form-in-html-php-not-display y como mi ingles no es muy bueno.... ya he recibido algunos Warning...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 30/09/2018 12:42:07
He encontrado el fallo porque no me salia la respuesta !! , como en el Post anterior te decia faltaba acabar algo , por eso el error ,

Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 75


El problema estaba que me faltaba el parentesis } final en else ...

antes :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
else
 
   {
 
 
 
         $name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING);
 
	 $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
 
	 $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
 
 
 
    echo "<br>"
 
	      . "<b>From: </b>" . htmlspecialchars( $name     )
 
        . "<b> at :</b>" . htmlspecialchars( $email)
 
        . "<br><br>" . htmlspecialchars( $message  )
 
        . "<br><hr>";

ahora;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
else
 
   {
 
 
 
         $name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING);
 
	 $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
 
	 $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
 
 
 
    echo "<br>"
 
	      . "<b>From: </b>" . htmlspecialchars( $name     )
 
        . "<b> at :</b>" . htmlspecialchars( $email)
 
        . "<br><br>" . htmlspecialchars( $message  )
 
        . "<br><hr>";
 
 
     }

ahora el problema es que cada vez que relleno el formulario enseña solo una vez , cuando lo relleno de nuevo , me quita el de antes y pone el nuevo , pero no deja el anterior ....como el screenshot muestra https://imgur.com/a/SE46m1b y ademas me sale como el screenshot en el archivo test.php ......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 30/09/2018 14:09:28
sige del Post anterior.........

lo que yo quiero , en prove_contakt2.php relleno el formular , el test.php , handle it , y vuelve la respuesta a prove_contakt2.php , pero que no lo enseñe en test.php .

test.php lo quiero , cuando acabe mi Pagina web , guardarlo en root , esto es , no hacerlo publico .Ademas quiero este code ampliarlo y los datos que en prove_contakt2.php rellene , por ejemplo el e-mail los enseñe en test.php , pero no en prove_contakt2.php ... , el problema es que cuando relleno el formular , los datos los enseña en test.php , junto con el form , pero en prove_contakt2.php solo enseña el formular no lo que he rellenado ....

En prove_contakt2.php he provado con tres formas diferentes :

<form action="prove_contakt2.php" method="post" name="post">

<form action="test.php" method="post" name="post">

<form action=" " method="post" name="post">

pero con ninguna de las tres formas , recibo los datos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 30/09/2018 18:36:21
unespected end, dejaste una llave abierta

if(x)
{
x=0;
<--falta llave } por eso manda unespected end file.


mi idea es , cuando no me haga mas errores , es quitar tambien error_reporting(-1);
y volver poner display errors = off .

como te comente en el otro post, mi recomendacion es que controles los mensajes de error en php.ini, si lo tienes como display error = on entonces no necesitas el error_reporting, tambien te recomende que si estas usando el servidor de pruebas lo mejor es dejar php ini con display error = on, pero al final tu tienes la mejor decisión.

estoy al otro lado del mundo, aqui no ablan ni español, ni aleman, si tengo suerte ablan ingles. pero con una aplicacion del cell te traduce lo que esta escrito, pista: solo les veo los ojos cuando los sorprendo.

asi que el horario es bastante diferente.

y claro con gusto te ayudo.

la idea entonces es escribir datos, procesarlos y regresar a la pagina original, bien, sabes programar en objetos?

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 30/09/2018 18:57:19
revisa este codigo, avisame si funciona, los 2 archivos deben estar en var/www/html

archivo _Tmp1.php, cuidado con las mayusculas y minusculas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
<?php
//aqui pongo las instrucciones de pre-carga o pre-proceso, de momento dejalo asi
?>
</head>
<body>
	<form  action="_Tmp2.php" method="post" name="post">
		<label for="email">E-Mail</label>
		<input type="email" id="email" name="email" />
		<label for="name">Name</label>
		<input id="name" name="name" /><br>
		<label> Message:</label><br>
		<textarea cols="45" rows="6"  name="message"></textarea><br>
		<p>
		<button  type="submit" name="post"  value="POST COMMENT">POST COMMENT</button>
		</p><br>
	</form>
</body>
 
</html>


archivo _Tmp2.php // ojo, fijate que no uso head y ni body

1
2
3
4
5
<?php
 
die("test ok");
 
?>

esta probado, si funciona.

aslu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 30/09/2018 19:08:07
la idea entonces es escribir datos, procesarlos y regresar a la pagina original, bien, sabes programar en objetos?

la idea es esa , lo de programar en objectos , no... , pero tal como tengo el code no deve ser muy dificil hacer mi idea....pienso yo......por ejemplo , crear una variable por ejemplo , un code que me han dado en un forum in Alemania para la pagina web que estoy haciendo :

1
2
3
$data = array("name" => $name, "email" => $email, "message" => $message, "datetime" => date('m/d/Y h:i:s a', time()));
$data = serialize( $data );
file_put_contents( $file, $data . "\n", FILE_APPEND|LOCK_EX );


$file es donde antes escrivia el resulado de $data , cuando tenia todo en uno.. , que era asi...

$file = "/var/www/html/test.txt";

y luego decirle a $data que lo escriva in prove_contakt2.php , el problema es que no se segir mas....en vez de else , no tendria que escriver con if y luego con un Loop + if , decirle que lo escriva en prove_contakt2.php ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 30/09/2018 22:51:29
perdona que no te haya comentado antes , pero tu segundo post no lo havia visto............no se porque pero con los dos nombres de los archivos me hacian problema , no por mayuscula o miniscula , los he cambiado por me.php y me2.php y luego form

1
form  action="_Tmp2.php" method="post" name="post">

te faltaba archivo_Tmp2.php ...

bueno , alfinal el resultado sale como el screenshot seve...https://imgur.com/a/opUJ5mV
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 01/10/2018 01:29:08
si modificas el nombre del archivo 2 entonces debes modificar el nombre en el form, el action debe tener el mismo nombre del archivo, el tmp2 esta en el post anterior.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 01/10/2018 09:12:30
al form le puse me2.php ,

1
<form  action="me2.php" method="post" name="post">

alfinal el resultado es que salio bien... volviendo ami problema... como podria hacer que prove_contakt2.php imprima el resultado ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 02/10/2018 01:51:24
Buenos dias don joseba.

ok, entonces el problema estaba en el form, recuerda, el nombre de destino y el nombre del archivo deben ser el mismo, cuidando de escribirlos exactamente como estan sino, nunca lo va a encontrar.

bien, mire, los objetos son de lo mas facil de usar.

asi como veo el problema, debes mostrar un form, capturar los datos, dar clicken "procesar?" y mostrar el form de nuevo con los datos capturados?

si eso es lo que busca entonces no veo necesario transferir los datos a otra pagina para traerlos de regreso a la pagina de inicio.

asi que te recomiendo este procedimiento, estas en la libertad de terminarlo o usar otro procedimiento.

este se debe llamar Index.php, le puedes cambiar el nombre, no importa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="es_mx">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include 'ClassProveContakt2.php';
 
$ProveContackt2=new ClassProveContakt2();
 
$ProveContackt2->PostOk();
 
?>
</head>
<body>
<form name="Form" Id="Form" method="POST" action="" >
    <?php
    $ProveContackt2->Form();
    ?>
</form>
</body>
</html>

faltan archivos, te los paso en un momento.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 02/10/2018 02:17:07
y esta es la clase que maneja la pagina ProveContakt2.php, se debe llamar ClassProveContakt2.php, si le cambias el nombre al archivo debes tambien cambiarlo en el include, si le cambias el nombre a la clase tambien la debes modificar en el = new

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 
class ClassProveContakt2
{
    private
    $Name
    // aqui agrega las variables que controlaran los demas objetos.
    ;
 
    function __construct()
    {
        $this->Name="";
        // aqui inicializas las variables
    }
 
    function PostOk()
    {
       // aqui recuperas las variables desde Post
       // pon los filtros que consideres necesarios
    	if(isset($_POST["Name"]))
    	{
    		$this->Name=$_POST["Name"];
    	}
    }
 
    function Form()
    {
        // y aqui muestras lo que recuperaste, al inicio nombre="" asi que no sale nada
        // en el primer submit se recupera nombre y se debe mostrar en el input
        echo('<table>');
            echo('<tr>');
                echo('<td>');
                    echo('<label for="name">Name</label>');
                echo('</td>');
 
                echo('<td>');
                    echo('<input type="Text" name="Name" value="'.$this->Name.'">');
                echo('</td>');
            echo('</tr>');
 
            echo('<tr>');
                echo('<td colspan="2" align="right">');
                    echo('<input type="submit" value="Submit">');
                echo('</td>');
            echo('</tr>');
        echo('</table>');
    }
}
 
?>

no lo pude validarlo, lo hise bastante rapido asi que si hay errores avisame.

espero te sirva el ejemplo.

como dijo el maestro Anibal Lecter ... "Simplicidad Clarisse".

cualquier duda mandame un post, indicame el numero de linea y la duda.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 02/10/2018 14:15:20
Aupa , gracias por no olvidarme....

he hecho como tu decias ..... , en Index.php me sale esta ventana , https://i.imgur.com/cYvADMF.png , el me que sale , lo he escrito yo... cuando pulso al Submit , no me sale nada , tampoco ningun error y me no desaparece.... podrias por favor el Code mejorarlo para que el nombre lo escriva en Index.ph , yo luego lo intentaria combinarlo con e-mail y message...

Lo de class ya lo vi cuando aprendi un poco Python... , el caso que quise aprender la logica de class , pero alfinal no lo hice....

Ayer puse mi problema en stackoverflow https://stackoverflow.com/questions/52589991/php-how-display-data-on-the-same-page y algien comento , que lo podria hacer con Ajax , hoy quiero aprender algo aqui https://www.w3schools.com/js/js_ajax_intro.asp , aqui aprendi bastante html/css y a la vez segir con to Code...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 02/10/2018 15:05:38
se me havia olvidado.. ayer pregunte en un Forum en italiano , les di el mismo code que tengo aqui , y me dieron este Code....

1
2
3
4
5
6
7
8
9
10
11
12
13
header_remove();
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With, content-type, access-control-allow-origin, access-control-allow-methods, access-control-allow-headers");
 
$name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
$datetime = date('m/d/Y h:i:s a', time());
 
//...
 
header("Content-Type: application/json;", true, 200);
echo json_encode(array("status"=>200,"message"=>"OK","name"=>$name,"email"=>$email,"message"=>$message));

el problema es que no se compaginarlo con el resto del code ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 03/10/2018 12:17:48
Aupa he cambiado algo en tu code ClassProveContakt2.php , que seria le he añadido un nuevo input , para e-mail , el Code es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
?php
header('Content-Type: text/html; Charset=utf-8');
 
mb_internal_encoding('UTF-8');
 
date_default_timezone_set('Europe/Berlin');
error_reporting(-1);
 
 
 
class ClassProveContakt2
 
{
 
    private
 
    $Name
 
    // aqui agrega las variables que controlaran los demas objetos.
 
    ;
 
 
 
    function __construct()
 
    {
 
        $this->Name="";
 
        // aqui inicializas las variables
 
    }
 
 
 
    function PostOk()
 
    {
 
       // aqui recuperas las variables desde Post
 
       // pon los filtros que consideres necesarios
 
    	if(isset($_POST["Name"]) && isset($_POST["Email"]))
 
    	{
 
    		$this->Name=$_POST["Name"];
            $me->Email=$_POST["Email"];
 
    	}
 
    }
 
 
 
    function Form()
 
    {
 
        // y aqui muestras lo que recuperaste, al inicio nombre="" asi que no sale nada
 
        // en el primer submit se recupera nombre y se debe mostrar en el input
 
 
 
                       echo('<table>');
 
            echo('<tr>');
 
                echo('<td>');
 
                    echo('<label for="name">Name</label>');
 
                echo('</td>');
 
 
 
                echo('<td>');
 
                    echo('<input type="text" name="Name" value="'.$this->Name.'">');
 
                echo('</td>');
 
            echo('</tr>');
 
 
 
           echo('<tr>');
 
                echo('<td>');
 
                    echo('<label for="email">Email</label>');
 
                echo('</td>');
 
 
 
                echo('<td>');
 
                    echo('<input type="email" name="Email" value="'.$me->Email.'">');
 
                echo('</td>');
 
            echo('</tr>');
 
              echo('<tr>');
 
                echo('<td colspan="2" align="right">');
 
                    echo('<input type="submit" value="Submit">');
 
                echo('</td>');
 
            echo('</tr>');
 
        echo('</table>');
 
    }
 
}
 
 
 
?>

pero me da este error en el Browser :

Notice: Undefined variable: me in /var/www/html/ClassProveContakt2.php on line 102

Notice: Trying to get property 'Email' of non-object in /var/www/html/ClassProveContakt2.php on line 102


El primer error , Notice: Undefined variable: me in /var/www/html/ClassProveContakt2.php on line 102


pero yo ya he definido la variable me ,

1
echo('<input type="email" name="Email" value="'.$me->Email.'">');

como tu has hecho con Name

1
echo('<input type="text" name="Name" value="'.$this->Name.'">');


el segundo error no lo entiendo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 03/10/2018 14:48:52
Buenas noches don joseba

en la clase no es necesario establecer ninguna condicion de html ni de php, es decir, si ya estan definidos estos parametros en ProveContakt2.php entonces no es necesario redefinirlos en un archivo que es incluido a menos que el include se encuentre antes de estas definiciones.

yo las quitaria del archivo de la clase, pero lo dejo a su opinion.

header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');
error_reporting(-1);

las variables y funciiones definidas en una clase deben llamarse usando $this, yo cambiaria $me->Email por $this->Email.

echo('<input type="email" name="Email" value="'.$me->Email.'">');

debes definir la variable $Email al inicio de la clase, inicializarla en __construct $this->Email="";, y recuperarla en PostOk() $this->Email = $_POST["Email"] si es que quieres que el valor salga en el formato despues de procesarlo.

los filtros que conseguiste los puedes consultar tambien en la pagina oficial de php, hay algunos que tambien pudieras llegar a necesitar.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 03/10/2018 15:07:02
Gracias por segirme ayudando !

para enteder mejor tu code ahora estoy leyendo este pequeña Tutorial , que por cierto explicas muchas cosas que tiene tu code .. https://www.killerphp.com/tutorials/php-objects-page-1/ , como no quiero preguntarte todo a ti (me imagino que tu tambien tienes tus cosas.. ) , algunas cosas les pregentare en el forum ... Ayer fue mi primera vez que estudie Class en mi vida , y mi cabeza necesita su tiempo para que me entre... , yo la semana que viene tengo que volver a trabajar ( de limpia platos..) , es muy extresante y cuando vuelvo a casa , mi cabeza no se puede concentrar bien... por eso voy a intentar aprender todo lo que pueda esta semana ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 03/10/2018 22:38:43
Buenos dias don Joseba

los objetos son de lo mas sencillo, es una clase con una serie de funciones a las que puedes acceder cuando declaras una variable como instancia (copia) de esa clase, eso es todo, no tienen chiste.

entonces un objeto necesita una clase para poder funcionar.

1
2
3
4
5
6
class Clase
{
//sin funciones
}
 
$Objeto = new Clase();

listo, ahi esta la definicion de la clase (que no hace nada) y el objeto (que hace menos que nada).

ahora solo debes empezar a hacer que funcione, asi que le agregas funciones y las mandas llamar con el Objeto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
class Clase
{
function Hola() // funcion de acceso publico
{
echo("Hola); // imprime un mensaje
}
}

$Objeto = new Clase(); //definimos el objeto

$Objeto->Hola(); //manda llamar a la funcion Hola() que esta en la Clase

?>

en la pagina aparece

Hola

asi de facil.

para crear un objeto debes tener un objetivo, mi recomendación es que hagas "especialistas".

uno para manejar bases de datos.
otro para manejar archivos
otro para manejar sockets
otro para manejar html
etc.

cada clase en un archivo diferente, asi mandas llamar solo las clases que necesitas.

y en el caso de la clase para manejar bases de datos, una vez que modificas la clase para pasar de mysqi a PDO se hace el cambio para todas las paginas que usen esa clase.

he ahi la ventaja.

suerte, salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 04/10/2018 11:36:47
Aupa , como lo tengo por ahora ClassProveContakt2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
header('Content-Type: text/html; Charset=utf-8');
 
mb_internal_encoding('UTF-8');
 
date_default_timezone_set('Europe/Berlin');
error_reporting(-1);
 
 
 
class ClassProveContakt2
 
{
 
    private $Name;
    private $Email;
    private $Message;
 
    // aqui agrega las variables que controlaran los demas objetos.
 
 
 
 
    function __construct()
    {
 
        $this->Name="";
        $this->Email="";
        $this->Message="";
 
 
 
        // aqui inicializas las variables
 
    }
 
 
    function PostOk()
    {
 
       // aqui recuperas las variables desde Post
 
       // pon los filtros que consideres necesarios
 
    	if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
    	{
 
    		$this->Name=$_POST["Name"];
 
    		$this->Email=$_POST["Email"];
 
            $this->Message=$_POST["Message"];
 
    	}
 
    }
 
 
 
    function Form()
    {
 
        // y aqui muestras lo que recuperaste, al inicio nombre="" asi que no sale nada
 
        // en el primer submit se recupera nombre y se debe mostrar en el input
 
       echo('<table>');
 
                    echo('<label for="name">Name </label>');
 
                    echo('<input type="text" name="Name" value="'.$this->Name.'">');
 
                    echo('<label for="email"> Email </label>');
 
                    echo('<input type="email" value="'.$this->Email.'" name="Email" ');
 
              echo('<tr>');
 
                echo('<td>');
                echo('<br>');
                    echo('<label> Message: <br><textarea cols="45" rows="6" value="'.$this->Message.'" name="Message"></textarea></label>');
                    echo('<br><br>');
                    echo('<input  type="submit" name="post" value="POST COMMENT" id="comment">');
 
                echo('</td>');
 
            echo('</tr>');
 
        echo('</table>');
 
    }
 
}
 
?>


yo quiero segier hoy estudiando la logica de Class , porque todavia no me entra... alfinal lo que dije ayer lo de preguntar en el Forum que te dije , no puede ser , para poder escribir en ese Forum , tienes que estar inscrito en sus cursos.... que vale 30 euros...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 04/10/2018 12:21:38
se me ha olvidado decirte sobre el code que te he puesto arraiba , en el input se queda nombre y e-mail , pero lo que he escrito en message , no ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 04/10/2018 15:20:26
Buenas noches don Joseba

esta mal escrita esta linea

1
echo('<input type="email" value= " '.$this->Email.' "  name="Email" ');

le falta un >

1
echo('<input type="email" value= " '.$this->Email.' "  name="Email">');

esta linea esta interesante:

1
echo('<label> Message: <br><textarea cols="45" rows="6" value="'.$this->Message.'" name="Message"></textarea></label>');

el textarea lo tienes dentro de un label, no sabia que se pudiera hacer eso, yo pondria el textarea fuera del label.

1
echo('<label> Message: </label>');

el textarea no usa vallue="", cambia $this->Message entre <textarea> y </texarea>

1
echo('<textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea>);

algunos objetos de html no usan value, si el objeto html no se comporta correctamente lo mejor es consultar el formato de los objetos html.

hay muchos foros que son gratis, pero la verdad prefiero LWP, a veces tardan en responder, pero de que ayudan, ayudan.

hay muchos cursos de html en internet, te recomiendo https://www.w3schools.com, hay cursos de todo pero esta en ingles, espero que no sea inconveniente.

revisalo.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 04/10/2018 16:21:47
aupa !

Al final lo he puesto asi , porque sin <label> , no me salia el titulo Message , por lo demas , me sale todo bien

1
echo('<label> Message: <br><textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea></label>');

hay muchos foros que son gratis, pero la verdad prefiero LWP, a veces tardan en responder, pero de que ayudan, ayudan.

he intentado buscar LWP as Forum , y lo unico que sale es Forums en Perl...

hay muchos cursos de html en internet, te recomiendo https://www.w3schools.com.


En https://www.w3schools.com es donde aprendi bastante html/css .


hay cursos de todo pero esta en ingles, espero que no sea inconveniente

yo empece con html/css en Junio y desde hace dos meses php , y todo lo he hecho en aleman y ingles , aunque el aleman mejor que el ingles , no los domino muy bien... , mi problema es cuando pregunto algo en estos idiomas , tienen problema para entenderme , este es el primer forum que pregunto en castellano....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 04/10/2018 22:41:11
bienvenido en nombre de la comunidad LWP (La Web del Programador).

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 04/10/2018 22:57:27
sorry , como has puesto solo las iniciales no havia caido ..... , gracias a ti , espero haver encontrado el caminopara mi solucion , pero esta bastante complicado llegat hasta el final...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 05/10/2018 02:08:03
buenos dias

1 dia a la vez, asi juntas semanas, meses y años.

1 dia a la vez.

idea, crea, estudioa, avanza, modifica, corrije, ... y al dia siguiente empiezas de nuevo.

asi es esto, el que se detiene se queda atras asi que animo.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 05/10/2018 11:25:50
yo soy de los que pienso que el camino se hace caminando.........

Yo quiero que mi pagina web este terminada este año... , mi idea es vivir de la publicidad , no creas que pretendo hacerme millonario.. , para mi consegir 500 o 600 euros al mes me vendrian de P.M.... , el resto del dinero que necesite , consegirlo haciendo trabajos de mierda , como hago ahora... , yo vivo en Berlin y estoy hasta los C.... de esta ciudad , me quiero ir al campo , la vida es mas barata y en primavera y verano comer mis verduras de mi huerta .... , yo paso de los 40.... , por eso , "tiempo" , no es que me sobre........


Bueno volviendo ami problema....

en el methode contruct he escrito esto....

1
function __construct($name, $email, $message)

el resto de la funccion en function __construct , lo tengo como antes ,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
 
 
 
        $this->Name="$name";
 
        $this->Email="$email";
 
        $this->Message="$message";
 
 
 
  // aqui inicializas las variables
 
 
  }


pero me da este error....


Fatal error: Uncaught ArgumentCountError: Too few arguments to function ClassProveContakt2::__construct(), 0 passed in /var/www/html/index.php on line 14 and exactly 3 expected in /var/www/html/ClassProveContakt2.php:49 Stack trace: #0 /var/www/html/index.php(14): ClassProveContakt2->__construct() #1 {main} thrown in /var/www/html/ClassProveContakt2.php on line 49


ho yo no necesito dar estos tres 3 parametros , basta con que en

1
function PostOk()

siga con la funcion....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 05/10/2018 16:25:00
Buenas tardes don Joseba

el constructor es una funcion que se llama de forma automatica al momento de declarar el objeto, de hecho hay varias funciones pero las mas comunes son el constructor y el destructor

si quieres usar el constructor de esa manera entonces debes definir las variables al momento de declarar el objeto.

1
2
3
4
5
6
7
8
9
10
class Clase
{
function function __construct($name, $email, $message)
{
echo("$name, $email, $message");
}
}
}
 
$Objeto = new Clase("ValorDeName","ValorDeEmail","ValorDeMessage");

para el caso que te ejemplifique no es necesario inicializar las variables mandandolas como parte del constructor porque

1 al inicio las variables deben estar en blanco.
2 al dar click en submit mandamos los objetos en el post, aqui la funcion postok se encarga de colectar los valores y guardarlas en las variables que le corresponde
3 la funcion Form se encarga de construir la plantilla, la primera vez la muestra con los campos en blanco, a partir de la segunda vez muestra los valores que se capturaron previamente.

no veo el caso de pasar valores en el constructor a menos que hayas pedido que se recuperaran los datos de una base de datos y necesites mostrarlos al cargar la pagina la primera vez, los cual nos indica que necesitas abrir una base de datos y recuperar los datos antes de declarar el objeto.

el mejor ejemplo que tengo para el constructor y el destructor es una clase que maneje la conexion y el trafico de datos hacia y desde una base de datos.

en el constructor abres la conexion con la base de datos.

en las funciones creas la que se encarga de procesar una query (insert, update, select, etc)

y en el destructor cierras la conexion y con esto se borra el objeto.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 05/10/2018 17:26:54
Gracias por el tiempo que te estas dando para enseñarme !

Las materias abtractas siempre fueron mi punto debil .. , de niño en el colegio Gografia y Historia me hivan bien , con las Matematicas tenia que recibir apoyo.... , mi cabeza necesita su tiempo para asimilarlas , pero si me empeño al final entran .... .Por eso perdona si algunas cosas , aunque sean de logica , no las entienda ....

volviendo al Code....

1 al inicio las variables deben estar en blanco.
2 al dar click en submit mandamos los objetos en el post, aqui la funcion postok se encarga de colectar los valores y guardarlas en las variables que le corresponde
3 la funcion Form se encarga de construir la plantilla, la primera vez la muestra con los campos en blanco, a partir de la segunda vez muestra los valores que se capturaron previamente.


sí , tiene su logica , contruir variables sin darle valor , porque luego el valor se las añadimos , con los datos que les damos en Form (Name , Email y Message) .... yo sigo con el Muster Code que me has dado , la pregunta que te he escrito antes es porque como estoy intentando coger la logica de tu Code , lo intento aprender de esta pagina en aleman https://www.php-einfach.de/experte/objektorientierte-programmierung-oop/methoden-und-konstruktoren/ , y intente escribirlo como en el ejemplo que dan ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 06/10/2018 18:02:37
Aupa , estoy aprendiendo la Base de OOP en php en esta web alemana https://www.peterkropff.de/site/php/typpruefung.htm , el code que he copiado , pero me da un resultado un poco raro... el code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
 
 
 
 
class Sex
{
  public function beischlaf (Mann $er, Frau $sie,
                             array $verhuetungsmittel)
  {
    // Zensiert
  }
}
class Mann
{
 
}
 
 
class Frau
{
 
}
$dieter = new Mann;
$doerte = new Frau;
$sex = new Sex;
$sex -> beischlaf ($dieter, $doerte, array ('kondom', 'pille'));
 
 
 
 print_r($sex);
 
 
?>


yo le he añadido el print_r($sex); , pero cuando le doy al Browser solo me da , Sex Object ( )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 06/10/2018 18:58:55
ok, son 3 clases,

una clase Hombre, que no hace nada (alegoria?)

una clase mujer que no hace nada (afirmacion?)


y una case sexo con una funcion relaciones sexuales que acepta 3 parametros, hombre, mujer y un array de metodo anticonceptivo.

aqui el caso que no se porque ponen el procedimiento como censurado, ese sitio web parece interesante.

ahora bien, el caso es que print_r te ayuda a imprimir variables declaradas como array y en este caso esa clase no es un array de clases, y no guarda variables, posiblemente ahi pudiera estar el problema.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 06/10/2018 23:03:21
Aupa !

una clase Hombre, que no hace nada (alegoria?)

una clase mujer que no hace nada (afirmacion?)


he leido mejor lo que el dice , el dice ;


Aqui hay dos diferentes posiblidades para impedir por ejemplo que Dieter en esa agradable noche , a la mañana sigiente se levante junto a un hombre barbudo .

instanceof

Ambos objetos , esto es $dieter y $doerte tienen que ser generados en sus classes , sino no podra ejecutarse el method beischlaf , que esta dentro del Objeto Sex .


Lo de las dos posibilidades creo que el las dice , una usando instanceof y la otra Examinar sus Parametros en su forma .




ese sitio web parece interesante.


esto lo mejor que he encontrado en Aleman , esta escrito en aleman "normal" , no como estan la malloria de los ejemplos que he encontrado , que estaban escritos en Hochdeutsch , esto es , en aleman academico .Los ejemplos que pone , como te habras quedado , son con Humor...


ahora bien, el caso es que print_r te ayuda a imprimir variables declaradas como array y en este caso esa clase no es un array de clases, y no guarda variables, posiblemente ahi pudiera estar el problema.


he provado con echo $sex; y me sale este error ;

Recoverable fatal error: Object of class Sex could not be converted to string in /var/www/html/me.php on line 37
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 06/10/2018 23:29:08
Recoverable fatal error: Object of class Sex could not be converted to string in /var/www/html/me.php on line 37

como te decia, la clase no contiene nada, no hay nada que imprimir si es que si se imprime una clase, yo nunca lo he intentado.

es como este ejemplo

$a="";

echo($a);

no imprime nada.

basate en el ejemplo que te pase.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 07/10/2018 12:43:54
Aupa , sigo con tu consejo...

En la Funcion PostOK he cambiado algunas cosas para que me inprima , el resto del Code sige igual ..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function PostOk($_POST())
{
 
   // aqui recuperas las variables desde Post
 
   // pon los filtros que consideres necesarios
 
   if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
   {
 
        $this->Name=$_POST["Name"];
 
        $this->Email=$_POST["Email"];
 
        $this->Message=$_POST["Message"];
 
        $data = array("Name" => $name, "Email" => $email, "Message" => $message);
 
   }
 
}
 
$data = new ClassProveContakt2;
$data -> PostOK ();
echo $data;

pero no me impreme nada ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 07/10/2018 17:42:21
se que tengo muchos errores en este Code... , pero uno no podria ser , que al tener :

1
2
3
4
5
private $Name;
 
private $Email;
 
private $Message;


lo tendria que hacer public con la creacion de un Kindklassen ?? , como he entendido , con private solo se puede trabajar dentro de class , y como el form se tiene que rellenar fuera , pienso que podria ser ese el problema ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 07/10/2018 22:16:13
he encontrado el problema porque no me salia .. , el problema era que me he hecho un archivo , ClassProveContakt3.php que lo he hecho para praticar y segun vayan saliendo las cosas bien , ese Code lo llevo a ClassProveContakt2.php , que lo quiero usar as Muster... , el problema era que havia cambiado "casi" todo con el nuevo nombre del archivo en index.php , pero se me havia olvidado de cambiar el mas importante...

de como lo tenia
1
include 'ClassProveContakt2.php';
a como esta ahora
1
include 'ClassProveContakt3.php';

asi que ahora con este Code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function PostOk()
{
 
    // aqui recuperas las variables desde Post
 
 
    // pon los filtros que consideres necesarios
 
 
 
    if(empty($_POST['Name']) ||
        empty($_POST['Email']) ||
        empty($_POST['Message'])) {
 
        echo "<br><b>" . "<p><font color='#ff0000'> Please enter all required fields </font> </p>" . "</b><hr>";
 
 
        $this->Name=$_POST["Name"];
        $this->Email=$_POST["Email"];
        $this->Message=$_POST["Message"];
 
    }
 
}


cuando no escrivo nada en el form , me sale el aviso , Please enter all required fields
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 07/10/2018 23:59:48
esto no es un objeto ya que falta la clase, asi que esto es solo una funcion por lo que no puedes usarlo como base para el objeto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function PostOk($_POST()) // $_POST es un metodo para transferir variables de una pagina a otra al igual que $_GET, por lo que no es nesesario declararlo  como parametro en una funcion ya que es accesible desde cualquier parte del programa. 
{
   // aqui recuperas las variables desde Post
   // pon los filtros que consideres necesarios
   if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
   {
        $this->Name=$_POST["Name"];
        $this->Email=$_POST["Email"];
        $this->Message=$_POST["Message"];
        $data = array("Name" => $name, "Email" => $email, "Message" => $message); // esta variable data se borra cuando el programa pasa esta llave
   } //<--- esta llave, asi que al terminar la funcion se pierde $data.
}
 
$data = new ClassProveContakt2; // en donde esta esta clase?
$data -> PostOK (); // este post debe estar como funcion dentro de ClassProveContakt2
echo $data; // que quieres hacer aqui?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 08/10/2018 13:11:22
Aupa , por suerte hoy no trabajo , asi que puedo segir con el Code.... y gracias por segir ayudando !


ayer , al intentar buscar una solucion al mi problema (que no publicase Please enter all required fields) , prove de todo , por eso esas incongruesas por mi parte ....


$data = new ClassProveContakt2; // en donde esta esta clase?


esta en ClassProveContakt2 , el archivo que tengo as Muster , yo ahora estoy con ClassProveContakt3 , que como te decia en el Post anterior , lo uso para trabajar , pero como te decia antes , en mi desperacion por buscar una solucion a mi problema , se me havia olvidado que ahora estoy trabajando con ClassProveContakt3...


echo $data; // que quieres hacer aqui?


aqui lo que hice es mezclar las cosas... mi idea de lo que quiero hacer , la he dividido entres partes :

1 - cuando falta alguna data por rellenar en Form (name, e-mail y message o no fue ninguna rellenada , recibe el aviso ,

Please enter all required fields

2- caundo se han rellenado todo en Form , sale publicado en index.php , aqui quiero solo hacer publico el name y message , el e-mail , nó . Aqui usare else .


3- tengo que crear un nuevo archivo , llamalo test.php , donde biene publicado TODO que viene rellenado en Form , es por decirlo de una forma , el archivo donde administro lo que viene rellenado en Form , tambien lo quiero usar por ejemplo , si algien escrive algo as spam , insultos, ... , desde aqui quitarlo a los ojos del publico ... es aqui donde quiero utilizar el array , $data .

$data = array("name" => $name, "email" => $email, "message" => $message);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 08/10/2018 14:19:41
aupa !

bueno parece que las cosas langsam, langsam (despacio , despacio) van saliendo ... , he cambiado de posicion las funciones function Form() y function PostOK() , los demas estan como antes....Ahora lo tengo asi :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
function Form()
{
 
   // y aqui muestras lo que recuperaste, al inicio nombre="" asi que no sale nada
 
   // en el primer submit se recupera nombre y se debe mostrar en el inpu
 
 
    echo('<table>');
 
        echo('<label for="name">Name </label>');
        echo('<input type="text" name="Name" value="'.$this->Name.'">');
        echo('<label for="email"> Email </label>');
        echo('<input type="email" value="'.$this->Email.'" name="Email" ');
 
        echo('<tr>');
 
            echo('<td>');
 
                echo('<br>');
 
                echo('<label> Message: <br><textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea></label>');
 
                echo('<br><br>');
 
                echo('<input  type="submit" name="post" value="POST COMMENT" id="comment">');
 
            echo('</td>');
 
        echo('</tr>');
 
    echo('</table>');
}
 
 
function PostOk()
{
 
    // aqui recuperas las variables desde Post
 
    // pon los filtros que consideres necesarios
 
 
 
    if(empty($_POST['Name'])  ||
       empty($_POST['Email']) ||
       empty($_POST['Message']))
    {
 
        echo "<br>" . "<b>" . "<h3>*** Please enter all required fields ***</h3>" . "</b>";
 
        $this->Name=$_POST["Name"];
        $this->Email=$_POST["Email"];
        $this->Message=$_POST["Message"];
 
    }
    else
    {
        $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
        $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
        $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
 
        $datetime = date('m/d/Y h:i:s a', time());
 
        echo "<br>"
 
        . "<b>From: </b>" . htmlspecialchars( $name )
        . "<b> at: </b>" . htmlspecialchars( $datetime)
        . "<br><br>" . htmlspecialchars( $message  )
        . "<br><hr>";
    }
 
}


el screenshot como me sale en el Browser , https://i.imgur.com/X5VihPV.png

Tengo un problema , cada vez que escribo una nueva informacion(name y message) , me quita la que escrito antes , y pone la nueva , cuando yo quiero que se queden todas...

Quiero tener como esta aqui https://i.imgur.com/6YR06jM.png
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 08/10/2018 15:21:27
Buenas tardes don joseba

necesita repasar la forma en la que html trabaja con tablas ya que algunos elementos los esta mostrando fuera de la tabla aun cuando los esta programando dentro del <table>, agregue el parametro border="1" a table para que confirme lo que le comento.

use required en los text para obligar al usuario a completar los campos del form, es lo mas sencillo, use los mensajes unicamente si el campo no cumple con los requisitos.

date() te retorna la fecha y hora local, usa el parametro unicamente si la fecha y hora es diferente a la fecha y hora local.

le recomiendo que consulte php.net cuando tenga alguna duda acerca de algun comando de php, esta en varios idiomas asi que puede elegir el de su gusto.

y para html le recomiendo https://www.w3schools.com, ahi viene un curso de HTML, se lo recomiendo.

recuerde, no es lo mismo html que php, php debe mandarle la informacion al explorador en formato html, asi que a fuerzas debes aprender a usar html.

salu2.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
 
class ClassProveContakt2
{
	private
	$Name,
	$Email
	;
	function __construct()
	{
		$this->Name="";
		$this->Email="";
	}
 
	function PostOk()
	{
		if(isset($_POST["Name"]))
		{
			$this->Name=$_POST["Name"];
		}
 
		if(isset($_POST["Email"]))
		{
			$this->Email=$_POST["Email"];
		}
 
		$datetime = date("m/d/Y h:i:s a"); // esta variable es local, se pierde al terminar la funcion. 
	}
 
	function Form()
	{
		echo('<table border="1">');
		echo('<tr>');
			echo('<td>');
				echo('<label for="name">Name</label>');
			echo('</td>');
			echo('<td>');
				echo('<input type="Text" name="Name" value="'.$this->Name.'" required>');
			echo('</td>');
		echo('</tr>');
 
		echo('<tr>');
			echo('<td>');
				echo('<label for="name">Email</label>');
			echo('</td>');
			echo('<td>');
				echo('<input type="Text" name="Email" value="'.$this->Email.'" required>');
			echo('</td>');
		echo('</tr>');
 
		echo('<tr>');
			echo('<td colspan="2" align="right">');
				echo('<input type="submit" value="Submit">');
			echo('</td>');
		echo('</tr>');
		echo('</table>');
	}
 
}
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 08/10/2018 17:04:18
aupa !

he copiado tu Code y el screenshot me sale asi https://i.imgur.com/59nIfiS.png

que como me imagino , es como tendria que salir...

pero sigo teniendo el mismo problema de antes .... , que quita el viejo name y email , y lo sostituye por el nuevo que he escrito en el form...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 13/10/2018 12:40:53
Aupa , decirte que he preguntado aqui https://stackoverflow.com/questions/52726476/php-missing-old-data-when-insert-new-data/52729001?noredirect=1#comment92461428_52729001 por la solucion de mi problema , me han dado una solucion , que seria con Json .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
 
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Paris');
error_reporting(-1);
 
class ClassProveContakt4 {
    private $Name;
    private $Email;
    private $Message;
 
    function __construct() {
      $this->Name="";
      $this->Email="";
      $this->Message="";
    }
 
    function Form() {
     echo('<table>');
     echo('<label for="name">Name </label>');
     echo('<input type="text" name="Name" value="'.$this->Name.'">');
     echo('<label for="email"> Email </label>');
     echo('<input type="email" value="'.$this->Email.'" name="Email" ');
     echo('<tr>');
     echo('<td>');
     echo('<br>');
     echo('<label> Message: <br><textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea></label>');
     echo('<br><br>');
     echo('<input  type="submit" name="post" value="POST COMMENT" id="comment">');
     echo('</td>');
     echo('</tr>');
     echo('</table>');
   }
 
 
  function PostOk() {
       if(empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Message'])) {
        $this->Name=$_POST["Name"];
        $this->Email=$_POST["Email"];
        $this->Message=$_POST["Message"];
 
 
 
        echo "<br>" . "<b>" . "<h3>*** Please enter all required fields ***</h3>" . "</b>";
 
 
 
      }
 
      else {
        $json_get_data = file_get_contents('myfile.json');
        $array_data = (array)json_decode($json_get_data);
 
 
        $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
        $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
        $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
        $datetime = date('m/d/Y h:i:s a', time());
 
        $data = new stdClass();
        $data->name = $name;
        $data->email = $email;
        $data->message = $message;
        $data->datetime = $datetime;
 
        $array_data[] = $data;
 
 
        $save_data = json_encode($array_data);
        file_put_contents('myfile.json', $save_data);
 
        foreach ($array_data as $key => $value) {
 
          echo "<br>"
          . "<b>From: </b>" . htmlspecialchars( $value->name)
          . "<b> at: </b>" . htmlspecialchars( $value->datetime)
          . "<br><br>" . htmlspecialchars( $value->message)
          . "<br><hr>";
        }
      }
 
  }
 
}
 
?>


a la pregunta si se podria hacer con solo php , sin Json , el me ha mandado este link https://stackoverflow.com/questions/8830132/creating-cookies-in-php , y me pregunta es , necesito yo cookies para hacer lo que quiero hace ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 13/10/2018 16:22:56
Aupa solo decirte que lo he consegido con solo php code....

mi ClassProveContakt.php code;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
 
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Paris');
error_reporting(-1);
 
class ClassProveContakt {
 private $Name;
 private $Email;
 private $Message;
 
function __construct() {
  $this->Name="";
  $this->Email="";
  $this->Message="";
}
 
function Form() {
 echo('<table>');
 echo('<label for="name">Name </label>');
 echo('<input type="text" name="Name" value="'.$this->Name.'">');
 echo('<label for="email"> Email </label>');
 echo('<input type="email" value="'.$this->Email.'" name="Email" ');
 echo('<tr>');
 echo('<td>');
 echo('<br>');
 echo('<label> Message: <br><textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea></label>');
 echo('<br><br>');
 echo('<input  type="submit" name="post" value="POST COMMENT" id="comment">');
 echo('</td>');
 echo('</tr>');
 echo('</table>');
}
 
 
function PostOk() {
 
  $file = "test.txt";
 
  $this->Name=$_POST["Name"];
  $this->Email=$_POST["Email"];
  $this->Message=$_POST["Message"];
 
  if(empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Message'])) {
 
    echo "<br>" . "<b>" . "<h3>*** Please enter all required fields ***</h3>" . "</b>";
 
  }
 
  else
  {
 
    $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
    $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
    $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
    $datetime = date('m/d/Y h:i:s a', time());
 
 
 
    $data = array("name" => $name, "email" => $email, "message" => $message, "datetime" => $datetime);
 
 
   $data = serialize($data);
    file_put_contents($file, $data . "\n", FILE_APPEND|LOCK_EX);
   }
   $messages = file($file);
 
     foreach ($messages as $value) {
       $data = unserialize($value);
 
          echo "<br>"
            . "<b>From: </b>" . htmlspecialchars( $data["name"])
            . "<b> at: </b>" . htmlspecialchars( $data["datetime"])
            . "<br><br>" . htmlspecialchars( $data["message"])
            . "<br><hr>";
      }
 
 
  }
 
}
 
 
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Gonzalo (615 intervenciones) el 13/10/2018 23:31:44
tal vez no me queda claro para que quiers guardar la informacion en un archivo ya que si planeas guardar la informacion de ese modo se guardaria en el servidor de datos, no en la pc del usuario.

me exlico.

una cookie se usa para guardar informacion en la pc del usuario, asi la siguiente vez que ente a la pagina la informacion se recupera, asi entonces se saben las preferencias de busqueda y fechas como la ultima visita, etc, cuando el cliente entra de nuevo al portal puedes recuperar esa inforamcion sin necesidad de que el cliente de un login/password.

imagina un portal de peliculas, si guardas la preferencia del cliente entonces vas a saber a quien le gustan las peliculas de terror, a quien le gustan las peliculas de accion, de fixion, etc, asi con solo abrir el portal le puedes mostrar las ultimas peliculas agregadas del tema de su preferencia.

usando un archivo entonces la informacion no se guarda en la pc del usuario, se guarda en el servidor, asi que debes saber cual usuario esta usando el portal para recuperar el archivo correcto, de otro modo guardarias la preferencia del ultimo cliente que uso la pagina.

para que quieres guardar esa informacion? de ahi podrias determinar si usas archivo o cookies.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 107
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Informacion del Formular no salen

Publicado por Joseba (56 intervenciones) el 14/10/2018 10:25:35
Aupa !

para que quieres guardar esa informacion?


mi idea no era hacer ese archivo
1
$file = "test.txt";
, solo que como no encontrado otra solucion para que se queden los comentarios antiguos he usado este... en todos los sitios que he preguntado , me daban la opcion de hacerlo con Json , que al final era la mismo , guadar los antiguos comentarios , en otro archivo , como por ejemplo el code que medieron en stackoverflow , https://stackoverflow.com/questions/52726476/php-missing-old-data-when-insert-new-data/52793823#52793823

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function PostOk() {
       if(empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Message'])) {
 
        echo "<br>" . "<b>" . "<h3>*** Please enter all required fields ***</h3>" . "</b>";
 
        $this->Name=$_POST["Name"];
        $this->Email=$_POST["Email"];
        $this->Message=$_POST["Message"];
 
      } else {
        $json_get_data = file_get_contents('myfile.json');
        $array_data = (array)json_decode($json_get_data);
 
 
        $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
        $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
        $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
        $datetime = date('m/d/Y h:i:s a', time());
 
        $data = new stdClass();
        $data->name = $name;
        $data->email = $email;
        $data->message = $message;
        $data->datetime = $datetime;
 
        $array_data[] = $data;
 
 
        $save_data = json_encode($array_data);
        file_put_contents('myfile.json', $save_data);
 
        foreach ($array_data as $key => $value) {
 
          echo "<br>"
          . "<b>From: </b>" . htmlspecialchars( $value->name)
          . "<b> at: </b>" . htmlspecialchars( $value->datetime)
          . "<br><br>" . htmlspecialchars( $value->message)
          . "<br><hr>";
        }
      }

que fue de alli de donde me vino la idea de hacerlo lo mismo , pero solo con php SIN , Json .. .Mi idea era hacerlo solo para el archivo que quiero hacer para Administrar los comentarios , que es lo que quiero hacer hoy ....pero como te decia , como solo he encontrado esa solucion para guardar los antiguos comentarios que los vea el publico , lo he hecho asi....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar