За последние 24 часа нас посетили 17684 программиста и 1727 роботов. Сейчас ищут 969 программистов ...

вставить в базу данных (Insert)

Тема в разделе "PHP и базы данных", создана пользователем kolya7774, 21 апр 2011.

  1. kolya7774

    kolya7774 Активный пользователь

    С нами с:
    3 мар 2011
    Сообщения:
    98
    Симпатии:
    0
    Друзья, есть форма (отправка комментария) на джава и джейкуэри.
    Есть 2 файла обработки, с ними и проблемы, я не знаю что куда писать!!! Надо вписать в таблицу базы данных в поле 'post' идентификатор 'id'. Как это сделать правильно? Через форму передается 2 скрытых поля - капча и то самое 'id'. Помогите пожалуйста мне!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    1.guestBook.class.php
    <?php
    class guestBook {

    public $totalEntries = null;

    public function guestBook() {
    $this->totalEntries = $this->totalEntries();
    }

    public function listEntries () {
    $sql = "SELECT * FROM `guestbook` ORDER BY `id` DESC";
    $result = mysql_query($sql);
    while ($record = mysql_fetch_object($result)) {
    $message = nl2br($record->message);
    $email7 = ereg_replace('@', ' [ AT ] ', $record->email7);
    echo '
    <div class="gb" align="left">
    <div class="gbtop">
    <p><b>'.$record->name.' </b>';
    if($record->country == "") {
    echo "";
    }
    else {
    echo "from ".$record->country;
    }
    echo '<br/><font class="small">Добавлено '.$record->postdate.' - '.$record->time.'
    </div>
    <div class="gbbottom">
    <p>'.$message.'</p>
    <div class="small" align="right">';
    if($record->website == "") {
    echo "";
    }
    else {
    echo "<a href=\"http://".$record->website."\" target=\"_blank\"><img src='guestbook/images/website.gif' border=0></a>&nbsp;";
    }
    echo '&nbsp';
    if($email7== "") {
    echo "";
    }
    else {
    echo "<a href=\"mailto:$email7\" target=\"_blank\"><img src='guestbook/images/email.gif' border=0></a>&nbsp;";
    }
    echo ' </div>
    </div>
    </div>';
    }
    mysql_close();
    }

    public function addEntry ($userName, $userCountry, $useremail7, $userURL, $userMessage) {
    $website = ereg_replace("http://", "", $userURL);
    $message = ereg_replace("<", "", $userMessage);
    $message = ereg_replace(">", "", $userMessage);
    $message = addslashes($userMessage);
    $name = ereg_replace("<", "", $userName);
    $name = ereg_replace(">", "", $userName);
    $name = addslashes($userName);
    $email7 = ereg_replace("<", "", $useremail7);
    $email7 = ereg_replace(">", "", $useremail7);
    $email7 = addslashes($useremail7);
    $website = ereg_replace("<", "", $userURL);
    $website = ereg_replace(">", "", $userURL);
    $website = addslashes($userURL);

    $useragent = ($_SERVER['HTTP_USER_AGENT']);
    $referer = $_SERVER['HTTP_REFERER'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
    $time = date( "H:i");
    $postdate = date( "Y.m.d" );
    !!!(Я уже дописал 'post' и 'id' соответственно, но не работает)!!!
    mysql_query ("INSERT INTO `guestbook` (`postdate`, `time`, `name`, `email7`, `website`, `country`, `message`, `post`)
    VALUES ('$postdate', '$time', '$name','$email7', '$website', '$country', '$message', '$id')");

    mysql_close();

    if($notify == "yes"){
    mail("$mailto", "you have a new message on your website", "\n\nname: $name\nemail7: $email7 - web: $website\nmessage: $message\n\nIP adres: $ip = $host", "FROM:$mailto<$mailto>\r\n");
    }

    return true;
    }

    public function checkemail7 ($email7) {
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email7)) {
    return false;
    }
    $email7_array = explode("@", $email7);
    $local_array = explode(".", $email7_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
    if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
    return false;
    }
    }
    if (!ereg("^\[?[0-9\.]+\]?$", $email7_array[1])) {
    $domain_array = explode(".", $email7_array[1]);
    if (sizeof($domain_array) < 2) {
    return false;
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
    return false;
    }
    }
    }
    return true;
    }

    public function checkUrl ($url) {
    if (!preg_match("(http|ftp|https)|\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?",$url)) {
    return false;
    }
    return true;
    }

    private function totalEntries () {
    $query = mysql_query("SELECT COUNT(*) AS `totalEntries` FROM guestbook");
    $entryArray = mysql_fetch_array($query);
    $this->totalEntries = $entryArray['totalEntries'];
    return false;
    }
    }
    ?>


    2. validateForm.php
    <?php
    include ('../config.php');
    include ('classes/guestBook.class.php');
    $guestBook = new guestBook();
    $check = $_POST['check'];
    if ($check == 'email7') {
    $useremail7 = $_POST['email7Address'];
    if(!$guestBook->checkemail7($useremail7)) {
    echo 'no';
    }
    else {
    echo 'yes';
    }
    }

    if ($check == 'url') {
    if(!$guestBook->checkUrl($_POST['website'])) {
    echo 'no';
    }
    else {
    echo 'yes';
    }
    }

    if($check == 'newCode') {
    function GenVerif () {
    srand(time());
    $i=($QUERY_STRING)?($QUERY_STRING):"6";
    while($i--) {
    while(!ereg("[2-9]",$chr=sprintf("%c",rand(48,127))));
    $passw .= $chr;
    }
    return $passw;
    }
    $verificationnr = GenVerif();
    echo $verificationnr;
    }

    if ($check == 'newEntry') {
    $userName = $_POST['userName'];
    $userCountry = $_POST['userCountry'];
    $useremail7 = $_POST['useremail7'];
    $userURL = $_POST['userURL'];
    $userMessage = $_POST['userMessage'];

    $time = date( "H:i");
    $postdate = date( "Y.m.d" );
    if($guestBook->addEntry($userName, $userCountry, $useremail7, $userURL, $userMessage)) {
    echo ' <div class="gb" align="left">
    <div class="gbtop">
    <p><b>'.$userName.'</b> from '.$userCountry;
    echo '<br/><font class="small">Добавлено '.$postdate.' - '.$time.'
    </div>
    <div class="gbbottom">
    <p>'.$userMessage.'</p>
    <div class="small" align="right">';
    if($userURL == "") {
    echo "";
    }
    else {
    echo "<a href=\"http://$userURL\" target=\"_blank\"><img src='guestbook/images/website.gif' border=0></a>&nbsp;";
    }
    ?>
    &nbsp;
    <?
    if($useremail7== "") {
    echo "";
    }
    else {
    echo "<a href=\"mailto:$useremail7\" target=\"_blank\"><img src='guestbook/images/email.gif' border=0></a>&nbsp;";
    }
    echo ' </div>
    </div>
    </div>';
    }
    }
    ?> :!:
     
  2. kolya7774

    kolya7774 Активный пользователь

    С нами с:
    3 мар 2011
    Сообщения:
    98
    Симпатии:
    0
    А вот .js к форме:

    $(document).ready(function(){
    var checkName = function () {
    name = $('#name').val();
    if(name == '') {
    $('#name').removeClass().addClass('error');
    if($('#nameMsg').text() == '') {
    $('#messages').append('<div id="nameMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The <b>name</b> field cannot be empty!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    else {
    $('#name').removeClass().addClass('ok');
    $('#nameMsg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    var checkCountry = function () {
    country = $('#country').val();
    if(country == '') {
    $('#country').addClass('warning');
    if($('#countryMsg').text() == '') {
    $('#messages').append('<div id="countryMsg"><b>&raquo;</b>&nbsp;<font color="orange">Warning</font></b>: Inserting your <b>country</b> is a good idea! It allows the webmaster to do a basic geotrageting. Thanks!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    }
    else {
    $('#country').removeClass().addClass('ok');
    $('#countryMsg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    var checkemail7 = function () {
    email7 = $('#email7').val();
    if(email7 != '') {
    $.post(
    "php/validateForm.php",
    {check: 'email7', email7Address: email7},
    function(data) {
    if(data=='no') {
    $('#email7').removeClass().addClass('error');
    if($('#email7Msg').text() == '') {
    $('#messages').append('<div id="email7Msg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The provided <b>email7</b> address is not valid!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    else {
    $('#email7').removeClass().addClass('ok');
    $('#email7Msg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    )
    }
    else {
    $('#email7').removeClass().addClass('error');
    if($('#email7Msg').text() == '') {
    $('#messages').append('<div id="email7Msg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The <b>email7</b> field cannot be empty!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    }
    var checkWebsite = function () {
    var url = $('#website').val();
    if(url != 'http://') {
    $.post(
    "php/validateForm.php",
    {check: 'url', website: url},
    function(data) {
    if(data=='no') {
    $('#website').removeClass().addClass('error');
    if($('#websiteMsg').text() == '') {
    $('#messages').append('<div id="websiteMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The provided <b>website</b> URL address is not valid!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    else {
    $('#website').removeClass().addClass('ok');
    $('#websiteMsg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    )
    }
    else {
    $('#website').removeClass().addClass('warning');
    if($('#websiteMsg').text() == '') {
    $('#messages').append('<div id="websiteMsg"><b>&raquo;</b>&nbsp;<b><font color="orange">Warning</font></b>: The <b>website</b> field should be filled. No "nofollow" links here!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return true;
    }
    }
    var checkCAPTCHA = function () {
    var verification = $('#verification').val();
    var verificationnr = $('input[name=verificationnr]').val();
    if(verification != verificationnr) {
    $("#verification").removeClass().addClass('error');
    if($('#captchaMsg').text() == '') {
    $('#messages').append('<div id="captchaMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The entered <b>verification number</b> is not correct!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    else {
    $('#verification').removeClass().addClass('ok');
    $('#captchaMsg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    var checkMessage = function () {
    var message = $('#message').val();
    if(message == '') {
    $("#message").removeClass().addClass('error');
    if($('#messageMsg').text() == '') {
    $('#messages').append('<div id="messageMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The <b>message</b> field cannot be empty! If it could, what would be the point?!</div>').fadeIn('slow');
    }
    $('#submit').attr("disabled", "disabled");
    return false;
    }
    else {
    $("#message").removeClass().addClass('ok');
    $('#messageMsg').empty().fadeOut();
    if($('#messages').text() == '') {
    $('#messages').empty().slideUp();
    }
    $('#submit').attr("disabled", "");
    return true;
    }
    }
    $('#addEntryLink').click(function(event){
    //не забыть про event
    event.preventDefault();
    //вот эту
    $('#addEntry').slideDown();
    });
    $('input[type=reset]').click(function(){
    $('#messages').empty().hide();
    });
    $('input[name=cancel]').click(function(){
    $('#addEntry').slideUp();
    $('#messages').empty().hide();
    });
    $('#name').blur(checkName);
    $('#country').blur(checkCountry);
    $('#email7').blur(checkemail7);
    $('#website').blur(checkWebsite);
    $('#verification').blur(checkCAPTCHA);
    $('#message').blur(checkMessage);
    $('#submit').click(function(){
    if($('#name').val() != '' && $('#email7').val() != '' && $('#verification').val() != '' && $('input[name=verification]').val() == $('input[name=verificationnr]').val() && $('#message').val() != '') {
    name = $('#name').val();
    country = $('#country').val();
    email7 = $('#email7').val();
    url = $('#website').val();
    message = $('#message').val();
    $.post(
    "php/validateForm.php",
    {check: 'newEntry', userName: name, userCountry: country, useremail7: email7, userURL: url, userMessage: message},
    function(data, status) {
    if(status!='success') {
    $('#website').removeClass().addClass('error');
    if($('#websiteMsg').text() == '') {
    $('#messages').append('<div id="websiteMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>:An error with adding your post occured. Please try again!</div>').fadeIn('slow');
    }
    alert(status);
    }
    else {
    $('input[name=name], input[name=country], input[name=email7], input[name=verification]').val('');
    $('input[name=website]').val('http://');
    $('textarea').val('');
    $('#newEntry').html(data).fadeIn('slow');
    }
    });
    var oldNumber = $('#noEntries').text();
    var newNumber = +oldNumber+1;
    $('#noEntries').html(newNumber);
    $('#addEntry').fadeOut('slow');
    }
    else {
    if($('#name').val() == '')
    if($('#nameMsg').text() == '') {
    $('#messages').append('<div id="nameMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The <b>name</b> field cannot be empty!</div>').fadeIn('slow');
    }
    if($('#email7').val() == '')
    if($('#email7Msg').text() == '') {
    $('#messages').append('<div id="email7Msg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The provided <b>email7</b> address is not valid!</div>').fadeIn('slow');
    }
    if(($('#verification').val() == '') || ($('input[name=verification]').val() != $('input[name=verificationnr]').val())) {
    if($('#captchaMsg').text() == '') {
    $('#messages').append('<div id="captchaMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The entered <b>verification number</b> is not correct!</div>').fadeIn('slow');
    }
    }
    if($('#message').val() == '') {
    if($('#messageMsg').text() == '') {
    $('#messages').append('<div id="messageMsg"><b>&raquo;</b>&nbsp;<b><font color="red">ERROR</font></b>: The <b>message</b> field cannot be empty! If it could, what would be the point?!</div>').fadeIn('slow');
    }
    }
    }
    });
    });