Form verzenden zonder de pagina te herladen

Status
Niet open voor verdere reacties.

gebruiker78

Gebruiker
Lid geworden
29 jun 2010
Berichten
428
Hallo,
is er een mogelijkheid om een form te verzenden zonder dat de pagina herlaad?
JA!, je moet ajax gebruiken.
en dan jquery .serializeArray() blablabla..
maar daar kom ik niet uit.
het hoeft van mij heeeeeeeeel simpel. (maar nog wel een beetje veilig)
dit is pagina profile.php
PHP:
<form action='?m=ok&n=<?php echo $name; ?>' method='POST'>
<span style="color:rgb(20,70,250);">Personal profile message:</span> <br />
<TEXTAREA name="message" COLS=45 ROWS=5 maxlength="2000"><?php if(isset($errorstrlen)){ echo $errorstrlen; } ?></TEXTAREA>
<input type='hidden' name='n' value='<?php echo $easynamep; ?>'>
<input type='submit' value='ppm' class="button">
</form>
dit is wat er moet gebeuren:
gebeuren.php
PHP:
// handle postppm
if ($_SERVER['REQUEST_METHOD']=='POST' and isset($_POST['message']) and $_GET['m']=="ok") {
   if(strlen($_POST['message'])>=5){
   $errorstrlen2 = $_POST['message'];
     if(strlen($errorstrlen2)>2000){
     $count = strlen($errorstrlen2);
     echo 'Too long message <b>' . $count . '</b>, allowed (2000)';
     }
     else{
	 $time = date("y-m-d H:i:s", time());
	 $time = convert_datetime($time);
     $message = $_POST['message'];
     $query = "
          INSERT INTO usersppm 
          (
          usersid
          , ido
          , message
		  , time
          ) 
          VALUES 
          (
          '" . mysql_real_escape_string( $ido ) . "'
          ,'" . mysql_real_escape_string( $id ) . "'
          ,'" . mysql_real_escape_string( $message ) . "'
		  ,'" . mysql_real_escape_string( $time ) . "'
          )"; 
          $queryupload = mysql_query($query);
		  header("location: profile.php?n=$name");
          die("You auto redirect to <a href='profile.php?n=$name'>profile</a>.");
		  }
    }
	else{
	$errorstrlen = $_POST['message'];
	echo "You need more than 5 charachters.";
	}
}

ik moet dus iets doen zodat hij word verzonden naar gebeuren.php
maar dan kan dit waarschijnlijk niet meer:
PHP:
if ($_SERVER['REQUEST_METHOD']=='POST' and isset($_POST['message']) and $_GET['m']=="ok") {
wat ik eigenlijk had als een soort beveiliging.


dus heel simpel?
hoe stuur ik dit form op met jquery (of iets anders) zonder dat de pagina herlaadt maar toch nog veilig is (aangezien dat php hierboven niet meer werkt)
 
Weet je wat je wijzigde mogelijks zal het lijn 13 zijn
PHP:
    $query = "INSERT INTO usersppm(usersid, ido, message, time) VALUES ('" . mysql_real_escape_string( $ido ) . "','" . mysql_real_escape_string( $id ) . "','" . mysql_real_escape_string( $message ) . "','" . mysql_real_escape_string( $time ) . "');";
dus zal het de enter wat dus betekent \n of \r\n
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan