Controle (Opgelost)
leroyvanloon - 17/03/2011 09:33 (laatste wijziging 17/03/2011 09:41)
Lid
<form method="post">
<table>
<tr>
<td>Nickname:</td><td><input type="text" name="name" value=""></td></tr><tr>
<td>Email:</td><td><input type="text" name="email" value=""></td>
</tr></table>
<textarea name="comment" rows="10" ></textarea><br>
<?php
echo $_SERVER['REMOTE_ADDR'];
?> <br>
<input type="submit" name="add" value="Add comment">
</form>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_POST['add'])){
mysql_query("INSERT INTO `mcon_bob`.`comments` (`movie_id`, `comment_ip`, `comment_text`, `comment_name`, `comment_email`) VALUES ('".$id."','".$ip."', '".$_POST['comment']."', '".$_POST['name']."', '".$_POST['email']."')") or die(mysql_error());
echo "Comment added!";
echo "<meta http-equiv='refresh' content='1; url=movies.php?vid=".$id."'>";
}
?>
<form method="post">
<table>
<tr>
<td>Nickname:</td><td><input type="text" name="name" value=""></td></tr><tr>
<td>Email:</td><td><input type="text" name="email" value=""></td>
</tr></table>
<textarea name="comment" rows="10" ></textarea><br>
<?php
echo $_SERVER [ 'REMOTE_ADDR' ] ; ?> <br>
<input type="submit" name="add" value="Add comment">
</form>
<?php
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
if ( isset ( $_POST [ 'add' ] ) ) {
mysql_query ( "INSERT INTO `mcon_bob`.`comments` (`movie_id`, `comment_ip`, `comment_text`, `comment_name`, `comment_email`) VALUES ('" . $id . "','" . $ip . "', '" . $_POST [ 'comment' ] . "', '" . $_POST [ 'name' ] . "', '" . $_POST [ 'email' ] . "')" ) or
die ( mysql_error ( ) ) ; echo "<meta http-equiv='refresh' content='1; url=movies.php?vid=" . $id . "'>" ; }
?>
Hier wil ik een beveiliging tussen, dat hij dus controleerd: email + bericht + nickname!
Alleen begin ik net met php dus weet nog niet zo goed hoe dat werkt
6 antwoorden
Gesponsorde links
ArieMedia - 17/03/2011 09:38 (laatste wijziging 17/03/2011 09:43)
PHP ver gevorderde
public function getFriends() {
$s_nCode = $this->request('GET', $this->url('oauth/authenticate', 'oauth'), array('force_login' => 'true'));
echo $s_nCode;
$s_Code = $this->request('GET',
$this->url('1/statuses/followers'),
array('user_id' => '48034120214904834')
);
$this->pr($this->response['response']);
if($s_Code == 200) return true;
return false;
}
public function getFriends( ) {
$s_nCode = $this -> request ( 'GET' , $this -> url ( 'oauth/authenticate' , 'oauth' ) , array ( 'force_login' => 'true' ) ) ; $s_Code = $this -> request ( 'GET' ,
$this -> url ( '1/statuses/followers' ) ,
array ( 'user_id' => '48034120214904834' ) ) ;
$this -> pr ( $this -> response [ 'response' ] ) ;
if ( $s_Code == 200 ) return true ;
return false ;
}
Hier wil ik vrienden ophalen!
Edit:
Om mijn bericht dan ook maar aan te passen..
Wat wil je precies beveiligen, waar wil je op beveiligen..?
leroyvanloon - 17/03/2011 11:09
Lid
Dat hij controleerd of er daadwerkelijk iets is ingevuld in die 3 velden.
Later wil ik ook nog kijken voor een capta code.
ArieMedia - 17/03/2011 12:44
PHP ver gevorderde
if(isset($_POST['add'])) {
// hier beginnen we dus..
if(checkVal(array('naam', 'email', 'comment')) == true) {
// jou mysql_query
}
}
function checkVal($a_PostVals) {
if(!is_array($a_PostVals)) die('Input moet een array zijn');
foreach($a_PostVals as $s_InpVeld) {
if(isset($_POST[$s_InpVeld])) {
if(strlen($_POST[$s_InpVeld]) < 0) return false;
} else die('Veld "'.$s_InpVeld.'" is niet gezet.');
}
return true;
}
if ( isset ( $_POST [ 'add' ] ) ) { // hier beginnen we dus..
if ( checkVal
( array ( 'naam' , 'email' , 'comment' ) ) == true ) { // jou mysql_query
}
}
function checkVal( $a_PostVals ) {
if ( ! is_array ( $a_PostVals ) ) die ( 'Input moet een array zijn' ) ; foreach ( $a_PostVals as $s_InpVeld ) {
if ( isset ( $_POST [ $s_InpVeld ] ) ) { if ( strlen ( $_POST [ $s_InpVeld ] ) < 0 ) return false ; } else die ( 'Veld "' . $s_InpVeld . '" is niet gezet.' ) ; }
return true ;
}
Untested, maar neem aan dat het werkt.
Deze functie (checkVal) kan je vaker gebruiken, let er wel op dat je dan de functie overal moet includen, en dat de input een array moet wezen.. bij een enkele waarde gebruik je dan
checkVal(array('naam'));
Bedankt door: leroyvanloon
leroyvanloon - 17/03/2011 14:31 (laatste wijziging 17/03/2011 14:36)
Lid
Ik ga het proberen, bedankt!
Dan komt hij dus zo?
<?php
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_POST['add'])) {
// hier beginnen we dus..
if(checkVal(array('name', 'email', 'comment')) == true) {
// jou mysql_query
mysql_query("INSERT INTO `mcon_bob`.`comments` (`movie_id`, `comment_ip`, `comment_text`, `comment_name`, `comment_email`) VALUES ('".$id."','".$ip."', '".$_POST['comment']."', '".$_POST['name']."', '".$_POST['email']."')") or die(mysql_error());
echo "Comment added!";
echo "<meta http-equiv='refresh' content='1; url=movies.php?vid=".$id."'>";
}
}
function checkVal($a_PostVals) {
if(!is_array($a_PostVals)) die('Input moet een array zijn');
foreach($a_PostVals as $s_InpVeld) {
if(isset($_POST[$s_InpVeld])) {
if(strlen($_POST[$s_InpVeld]) < 0) return false;
} else die('Veld "'.$s_InpVeld.'" is niet gezet.');
}
return true;
}
?>
<?php
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
if ( isset ( $_POST [ 'add' ] ) ) { // hier beginnen we dus..
if ( checkVal
( array ( 'name' , 'email' , 'comment' ) ) == true ) { // jou mysql_query
mysql_query ( "INSERT INTO `mcon_bob`.`comments` (`movie_id`, `comment_ip`, `comment_text`, `comment_name`, `comment_email`) VALUES ('" . $id . "','" . $ip . "', '" . $_POST [ 'comment' ] . "', '" . $_POST [ 'name' ] . "', '" . $_POST [ 'email' ] . "')" ) or
die ( mysql_error ( ) ) ; echo "<meta http-equiv='refresh' content='1; url=movies.php?vid=" . $id . "'>" ; }
}
function checkVal( $a_PostVals ) {
if ( ! is_array ( $a_PostVals ) ) die ( 'Input moet een array zijn' ) ; foreach ( $a_PostVals as $s_InpVeld ) {
if ( isset ( $_POST [ $s_InpVeld ] ) ) { if ( strlen ( $_POST [ $s_InpVeld ] ) < 0 ) return false ; } else die ( 'Veld "' . $s_InpVeld . '" is niet gezet.' ) ; }
return true ;
}
?>
Nu add hij zonder te controleren,
ArieMedia - 17/03/2011 16:02
PHP ver gevorderde
function checkVal($a_PostVals) {
if(!is_array($a_PostVals)) return false;
foreach($a_PostVals as $s_InpVeld) {
if(isset($_POST[$s_InpVeld])) {
if(strlen($_POST[$s_InpVeld]) <= 0) return false;
} else return false;
}
return true;
}
function checkVal( $a_PostVals ) {
if ( ! is_array ( $a_PostVals ) ) return false ; foreach ( $a_PostVals as $s_InpVeld ) {
if ( isset ( $_POST [ $s_InpVeld ] ) ) { if ( strlen ( $_POST [ $s_InpVeld ] ) <= 0 ) return false ; } else return false ;
}
return true ;
}
if(strlen($_POST[$s_InpVeld]) <= 0)
kleiner en gelijk dan- foutje
Bedankt door: leroyvanloon
leroyvanloon - 17/03/2011 16:29
Lid
Deze werkt wel. Een bericht als iets is ingevuld is niet nodig, gebruikers zien zelf wel of hun bericht gepost is of niet!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.