Escribo un sistema de orden simple donde varios números (rellenos dentro de un formulario) se escriben en otro archivo .php (también puede ser .html), usando la función fopen
. Esto funciona bien, pero después de escribir en el archivo, quiero que el navegador realmente abra ese archivo escrito, preferiblemente en una nueva ventana del navegador . De esta forma mi cliente puede usar esto para imprimir, usar como una factura, etc.Abrir un archivo en una nueva ventana del navegador después de haberlo escrito (con fopen)
Ahora sigo siendo novato en php y no tengo experiencia con el uso de fopen
. Pero en todas partes busco tutoriales, etc., se dice que fopen
abre (o escribe, por supuesto) un archivo, pero no por lo que he experimentado. Simplemente parece permitir el acceso al archivo especificado para escribir y leer, en lugar de mostrar realmente la página recién escrita.
Para evitar cualquier confusión: NO quiero abrir enlaces como otras preguntas aquí en el estado SO.
mi código:
<form action="" method="post">
<input type="text" id="amountTuna" name="numberTuna" value="0"/>
<input type="text" id="amountCheese" name="numberCheese" value="0"/>
<input name="send" id="send" type="submit" value="Post order" />
</form>
<?php
if (array_key_exists('send', $_POST)) {
$order = "order.php";
$fh = fopen($order, 'w') or die("can't open file");//file handler
fwrite($fh, "Tuna sandwiches: " . stripslashes($_POST['numberTuna']));
fwrite($fh, "Cheese sandwiches: " . stripslashes($_POST['numberCheese']));
$fh = fopen($factuur, 'r');
$fileip = fread($fh, filesize($factuur));
fclose($fh);
}
?>
Tratando diferentes parámetros tales como fopen
'w'
, 'r'
, etc 'r+'
no parece hacer ninguna diferencia. Eliminar fclose($fh)
tampoco parece marcar la diferencia.
Esto parece una extraña manera de registrar una orden - ¿ha considerado usando un DB para almacenar pedidos en? esto haría las cosas mucho más fáciles de grabar/mostrar y buscar por nombrar algunas ventajas – ManseUK
¿Por qué quieres escribir en un archivo PHP? – Baba
@ManseUK Bueno, sí, podría considerar hacerlo más tarde. Pero para ser específico, no es un sistema de orden de una tienda en línea, en cambio el dueño de la tienda solo llena los números de los sándwiches ordenados y lo quiere en una página para entregárselo al repartidor, y/o quizás usarlo como una factura para su cliente El 'cliente' es realmente un amigo mío, así que lo estamos haciendo paso a paso :). ¡Gracias por el consejo! – poepje