Hola amigos, como puedo hacer en Php un sistema de posteo... Creo que es sencillo, porque como he observado, ya existen, os dejo el code:
Texto.php
<?php
session_start();
if ($_POST['action'] == "checkdata") {
if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
$nombre_archivo = 'texto.txt';
$contenido = "\r\nTexto:" . $_POST["texto"] . "\r\nNombre:" . $_POST["nombre"] . "\r\nEmail:" . $_POST["email"] . "\r\n\r\n\r\n";
if (is_writable($nombre_archivo)) {
if (!$gestor = fopen($nombre_archivo, 'a')) {
echo "<p>No se puede abrir el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
exit;
}
if (fwrite($gestor, $contenido) === FALSE) {
echo "<p>No se puede escribir al archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
exit;
}
echo "<p>Su texto fue enviado correctamente y está pendiente de verificación.</p><p><a href='index.html'>Volver al índice</a></p>";
fclose($gestor);
} else {
echo "<p>No se puede escribir sobre el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
}
} else {
echo "<span class='Estilo1'>El código captcha es incorrecto</span><br><a href='javascript:history.go(-1);'>Volver atrás</a>";
}
}
?>
Captcha.php
<?php
// archivo: captcha.php
function randomText($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,35)};
}
return $key;
}?>
<?php
session_start();
$_SESSION['tmptxt'] = randomText(8);
$captcha = imagecreatefromgif("bgcaptcha.gif");
$colText = imagecolorallocate($captcha, 0, 0, 0);
imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
header("Content-type: image/gif");
imagegif($captcha);
?>
index.html
<html>
<head>
</head>
<body>
<center><form action="texto.php" method="post" enctype="multipart/form-data" name="formredac">
Texto:<br />
<textarea name="texto" cols="60" rows="8"></textarea>
<br />Nombre:<br /><input name="nombre" type="text" size="30" maxlength="40" style="text-align:center" />
<br />Email:<br /><input name="email" type="text" size="30" maxlength="50" style="text-align:center" />
<br /><img src="captcha.php" width="100" height="30"><br>
<input name="tmptxt" type="text" style="text-align:center"><br>
<input name="" type="submit" value="Enviar" />
<input name="action" type="hidden" value="checkdata">
</form></center>
</body>
</html>
Lo que no quiero es captcha, lo sencillo seria hacer lo principal, es decir, hacer una pagina quitar la captcha, editar el code para que funcione, (si tengo alguna duda la pregunto), pero... Como hago para que la gente no vea desde donde agrego los "post"?? es decir la gente se podria meter desde por ejemplo http://ejemplo.com/add.html, o algo asi, como lo evito??? >:D
Un saludo.
Esto lo quiero para mi pagina web de juegos, luego mando como se queda...
Pues pon una contraseña y un campo que pida dicha contraseña, luego lo comparas y listo.
<?php
if(empty($_POST['password']) OR $_POST['password']!='blablabla'){die('Contraseña no valida;');}
// Resto del code
?>
Saludos
y si es dentro del html... bueno, se me ocurrio una forma, pero lo principal es que me pregunte al principio... :-\
Hola, bueno, hasta aqui llevo el code:
<?php
$usuario = "usuario";
$clave = "clave";
$usar_session = false;
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>
<h1>Logueate para enviar contenido:</h1>
<form name="form" method="post" action="" id="login">
<center><div id="pass">
<p><label for="usuario">Usuario:</label>
<br /><input type="text" title="Inserta el nombre de usuario" name="usuario" /></p>
<p><label for="clave">Clave:</label>
<br /><input type="password" title="Inserta tu clave" name="clave" /></p>
<p><input type="submit" name="Submit" value="Acceso" /></p>
</form><div></center>
<?
if ($_POST['usuario'] == $usuario && $_POST['clave'] == $clave || isset($_SESSION['protegido'])) {
if($usar_session){
@session_start();
$_SESSION['protegido'] = $usuario;
}
$mostrar_contenido = false;
?>
'<script>document.getElementById("login").style.display="none"; </script>Este formulario sirve para añadir juegos a la web:
<center><form action="texto.php" method="post" enctype="multipart/form-data" name="formredac">
Descripción:<br />
<textarea name="description" cols="60" rows="8"></textarea>
<br />Título:<br /><input name="title" type="text" size="30" maxlength="40" style="text-align:center" />
<br />Ruta de la imágen (http://):<br /><input name="imgs" type="text" size="30" maxlength="50" style="text-align:center" />
<br />Ruta del Swf (http://):<br /><input name="path" type="text" size="30" maxlength="50" style="text-align:center" /><br><br>
<input name="" type="submit" value="Enviar juego" />
<input name="action" type="hidden" value="checkdata">
</form></center>
<? } else{
$incurs = "Usuario incorrecto.";
echo $incurs;
} ?>
</body>
</html>
pero tengo un problema, lo que puse en negrita se carga sin que yo lo llame, como hago para que no se muestre, hasta el momento de accion? >:D