Прекратяване на заявката

nBN

Registered
mysql_query("tim tam tom tam") or die (mysql_error());
die("Снимката ти беше качена успешно!");
Това ползвам, но като дам рефрешове отново се добавят заявките :X
и с exit() не става :X
 
Как да стане като картинката - pic, съм ги направил да се записват с мое име пример - test-2133.png и така при всеки refresh се променя името:(
 
ами измисли си друг начин, след като качиш снимката направи един редирект към същата страница да презареди, за да освободи всички инпути

header("Location:" $_SERVER['REQUEST_URI']);

или нещо такова
 
Radko каза:
Сложи си

http://www.captcha.net/

в сайта и проблема ти е решен.

Не ми се иска това да ми реши проблема, няма ли нещо друго ?
 
къде видя 0 секунди, видя ли какво съм написал за редирект

това го слагаш най долу където ти е изпълнен вече целия код за да те върне на същата страница на която си бил, съответно вече не би трябвало да ти пази инпутите пълни от формата
header("Location:" $_SERVER['REQUEST_URI']);


ако не стане така добави това

$url=$_SERVER['REQUEST_URI'];
echo "<script> window.location='$url' </script>";
 
embaka каза:
къде видя 0 секунди, видя ли какво съм написал за редирект

това го слагаш най долу където ти е изпълнен вече целия код за да те върне на същата страница на която си бил, съответно вече не би трябвало да ти пази инпутите пълни от формата
header("Location:" $_SERVER['REQUEST_URI']);


ако не стане така добави това

$url=$_SERVER['REQUEST_URI'];
echo "<script> window.location='$url' </script>";

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\up-img.php on line 55

55 - echo "header('Location:' $_SERVER['REQUEST_URI'])"
 
[sql]DROP TABLE IF EXISTS transcheck;
CREATE TABLE transcheck (
transid TEXT,
posted TIMESTAMP
);
[/sql]
HTML:
<? require_once( "trans.php" ); ?>
<?php if ( check_transid( $_POST["transid"] ) ) { ?>
Формата вече е оратена.
<?php } else {
add_transid( $_POST["transid"] );
?>
Добавихте картинката
<?php } ?>


<form action="handler.php" method="post">
<input type="hidden" name="transid" value="<?php echo( get_transid() ); ?
<input type="submit" />

PHP:
// .... Настройки за БД 
function check_transid( $id )
{ 
	global $db; 
	$res = $db->query( "SELECT COUNT(transid) FROM transcheck WHERE transid=?",
		array($id) );
	$res->fetchInto($row);
	return $row[0];
}

function add_transid( $id )
{
	global $db;  
	$sth = $db->prepare( "INSERT INTO transcheck VALUES( ?, now() )" );
	$db->execute( $sth, array( $id ) );
}

function get_transid()
{ 
	$id = mt_rand();  
	while( check_transid( $id ) ) { $id = mt_rand(); } 
	return $id;
}
?>


Toва имам като спомен от една книга на O' Relly
 
е не виждаш ли, че съм пропуснал да сложа една точка, не можеш ли да си я сложиш, ами върщаш грешката

header("Location:". $_SERVER['REQUEST_URI']);

и това не се слага в echo, а както съм го дал така
 
и със сесия става :) просто правиш дадена сесия при добавянето и после сравняваш ако сесията е същата като тази ,която е създадена преди малко не добавяш новината
 
Ще използвам друг начин. +1 на embaka като най активен в темата благодаря на всички все пак! :)
 

Back
Горе