Controle door php script op achtergrond, uitbereiding probleem!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Allard Keij

Allard Keij

19/06/2012 15:40:36
Quote Anchor link
Hallo,

Ik heb momenteel een script met als functie: Het controleren of de ingevoerde username al bestaat in de database.

Een simpel scriptje die ontzettend goed werkt.

Doormiddel van een text field en een submit button checkt ie op de achtergrond of de username al bestaat en geeft een antwoord terug. Zonder de pagina te refreshen.

( CODE HELEMAAL ONDER AAN DE PAGINA )

Wat ik nu wil is ditzelfde script in een ander php scriptje gebruiken. Ik heb namelijk eenzelfde soort functie nodig, dan alleen voor een andere "check".

Het bestaat ditmaal weer uit één field. In dit field moet iets ingevuld worden wat in de database staat. Dat klinkt raar maar het is eigenlijk een soort vraag op een antwoord. Dus in de database staat: "Dit is het antwoord" .Hij moet nu dus niet checken of de username al bestaat maar of het antwoord hetzelfde is dat als in de database staat. Oftewel: "Dit is het antwoord"

Nu neem ik aan dat dit een kwestie is om hetzelfde script te gebruiken en ipv username "antwoord" te gebruiken in een andere mysql query.

Nu kom ik daar wel uit heb ik het gevoel, maar het gaat mij om de button en het textfield. Dit is namelijk gemaakt voor één textfield. In dit geval wil ik een ID meesturen voor een record in de database waar het juiste antwoord in zou moeten staan.

Ik heb dus geen idee hoe ik met dit script een extra hidden field meestuur.
Ik heb namelijk een "WHERE id =" nodig. Het juiste ID wil ik dus meesturen in een hidden field.

Als iemand me daarmee kan helpen stel ik dat ZEER op prijs!

Allemaal alvast bedankt!

SCRIPT:
TEXTFIELD EN "CHECK"BUTTON CODE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
<input name="awnser" type="text" id="awnser" class="textinput">
<
input name="btnAvailable" type="button" id="btnAvailable" onclick='$("#checkid").html("Please wait...");
$.get("checkawnser.php",{ cmd: "check", user: $("#awnser").val() } ,function(data){  $("#checkid").html(data); });
'
value="Check Awnser">
<
span style="color:red; font: bold 12px verdana; " id="checkid" ></span>
?>


checkawnser.php CODE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

include 'dbc.php';

foreach($_GET as $key => $value) {
    $get[$key] = filter($value);
}


$user = mysql_real_escape_string($get['user']);

if(isset($get['cmd']) && $get['cmd'] == 'check') {

if(!isUserID($user)) {
echo "Invalid User ID";
exit();
}


$rs_duplicate = mysql_query("select count(*) as total from users where user_name='$user' ") or die(mysql_error());
list($total) = mysql_fetch_row($rs_duplicate);

    if ($total > 0)
    {

    echo "Not Available";
    }
else {
    echo "Available";
    }
}


?>
Gewijzigd op 19/06/2012 15:43:42 door Allard Keij
 
PHP hulp

PHP hulp

24/12/2024 18:22:41
 
Obelix Idefix

Obelix Idefix

19/06/2012 16:36:35
Quote Anchor link
Kun je $.get("checkawnser.php" geen id meegeven?

Antwoord in het Engels is overigens answer ;-)
 
Allard Keij

Allard Keij

19/06/2012 16:45:47
Quote Anchor link
Ouch.. Fail @ awnser ;-)

+ Fail @ checkanswer.php ..

Ik ga het nu direct proberen. Ook al zou het niet kunnen is de fail al binnen.. Dat ik daar niet aan gedacht heb zeg..

Bedankt! Ik post zo even of het gelukt is.

Toevoeging op 19/06/2012 17:44:30:

Dat was inderdaad de truc!

Bedankt. En stom van me dat ik er niet aan dacht.

Nu wil ik alleen het textfield op readonly zetten na het juiste antwoord of zelfs helemaal weg. Het moet gewoon zijn juist is juist en zodra dat is moet het gedisabled worden.

Enige tips hiervoor?

Bedankt!
 
Eddy E

Eddy E

19/06/2012 18:26:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$("input#answer).change(function(
if(checkanswer.php == $("input$answer").value)
{
$("submitknop").attr("disabled", "");
}
));


Even los uit het hoofd. Ik heb zoiets ook wel gemaakt... zal even kijken of die code nog heb.

Toevoeging op 19/06/2012 18:32:23:

Gevonden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// vooraf ergens
$('#verzendknop').attr('disabled', 'disabled');

// naam en emailadres verplicht
$("#verzendknop").click(function ()
    {      
     if( $("#gegevens_naam").val().length === 0 )
        {
        $('#foutmelding').css('display', 'inline');
        $('#gegevens_naam').css('border', '1px solid red');
        $('#verzendknop').attr('disabled', 'disabled');
        }
    else
        {
        $('#gegevens_naam').prop('style', null);
        }
     if( $("#gegevens_emailadres").val().length === 0 )
        {
        $('#foutmelding').css('display', 'inline');
        $('#gegevens_emailadres').css('border', '1px solid red');
        $('#verzendknop').attr('disabled', 'disabled');
        }
    else
        {
        $('#gegevens_emailadres').prop('style', null);
        }
     if( $("#gegevens_adres").val().length === 0 )
        {
        $('#foutmelding').css('display', 'inline');
        $('#gegevens_adres').css('border', '1px solid red');
        $('#verzendknop').attr('disabled', 'disabled');
        }
    else
        {
        $('#gegevens_adres').prop('style', null);
        }        
    });
// disabled knop weer vrijgeven bij naam en emailadres
$("#gegevens_naam").focus(function () {     $('#verzendknop').prop('disabled', null); $('#foutmelding').css('display', 'none');$('#gegevens_naam').prop('style', null);    });
$("#gegevens_adres").focus(function () {     $('#verzendknop').prop('disabled', null); $('#foutmelding').css('display', 'none'); $('#gegevens_adres').prop('style', null);   });
$("#gegevens_emailadres").focus(function () {     $('#verzendknop').prop('disabled', null); $('#foutmelding').css('display', 'none'); $('#gegevens_emailadres').prop('style', null);  });
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.