Na submit, doorgaan, terwijl laden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom aan t Goor

Tom aan t Goor

08/10/2011 16:39:29
Quote Anchor link
Ik ben nu bezig met een domein checker (om te kijken of hij nog vrij is).
Maar als je dan bij de extensie * invult, dan krijg je (zoals de bedoeling is), meerdere domeinen die gaan laden.

Alleen soms gaat het controleren nog al langzaam.

Hoe kan ik zorgen dat hij al wel door gaat naar het overzicht, maar dat als hij nog niet geladen is dat er staat: Laden...
En anders Vrij of Bezet (dit vrij of bezet werkt al).
Samengevat: Na de submit button wil ik dat hij gelijk doorgaat, en dat hij dan nog de tijd heb om te laden.
 
PHP hulp

PHP hulp

22/01/2020 04:02:33
 
Jacco Brandt

Jacco Brandt

08/10/2011 16:45:35
Quote Anchor link
Dat ligt aan je huidige code, kun je deze posten?
Gewijzigd op 08/10/2011 16:45:54 door Jacco Brandt
 
Tom aan t Goor

Tom aan t Goor

08/10/2011 16:47:30
Quote Anchor link
Welk stuk van mijn code wil je hebben?
 
Jacco Brandt

Jacco Brandt

08/10/2011 16:57:05
Quote Anchor link
De relevante code.
 
- SanThe -

- SanThe -

08/10/2011 16:57:49
Quote Anchor link
Ik denk dat je dat met AJAX kan bereiken. Maar zeker weten doe ik het niet omdat ik zelf niet met ajax werk.
Gewijzigd op 08/10/2011 17:17:20 door - SanThe -
 
Tom aan t Goor

Tom aan t Goor

08/10/2011 17:08:07
Quote Anchor link
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
if(isset($_POST['check'])){
    echo '<table width="500px" style="border:#000 solid 1px;">';
    if($_POST['exten'] == '1'){
    $url = $_POST['url'].'.nl';
    }
elseif($_POST['exten'] == '2'){
    $url = $_POST['url'].'.com';
    }
elseif($_POST['exten'] == '3'){
    $url = $_POST['url'].'.be';
    }
else{
    $Unl = $_POST['url'].'.nl';
    $Ucom = $_POST['url'].'.com';
    $Ube = $_POST['url'].'.be';
    }

    
    if($_POST['exten'] == 'all'){
    $Unl = trim($Unl);
    $Unl = str_replace("http://www.", "", $Unl);
    $Unl = str_replace("/", "", $Unl);
    $Unl = str_replace("www.", "", $Unl);
    $Unl = str_replace("http:", "", $Unl);
    
    $Ucom = trim($Ucom);
    $Ucom = str_replace("http://www.", "", $Ucom);
    $Ucom = str_replace("/", "", $Ucom);
    $Ucom = str_replace("www.", "", $Ucom);
    $Ucom = str_replace("http:", "", $Ucom);
    
    $Ube = trim($Ube);
    $Ube = str_replace("http://www.", "", $Ube);
    $Ube = str_replace("/", "", $Ube);
    $Ube = str_replace("www.", "", $Ube);
    $Ube = str_replace("http:", "", $Ube);
    
    $RESnl = dns_get_record($Unl);
    $REScom = dns_get_record($Ucom);
    $RESbe = dns_get_record($Ube);
    if (count($RESnl)) {
        echo '<tr border: 2px solid #f00; style="background-color:#CCCCCC;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Unl)).' target="_new">'.ucfirst(strtolower($Unl)).'</a></td><td><font color="#FF0000"><b>&nbsp;&nbsp;bezet</b></font></td></tr>';
    }
else{
        echo '<tr border: 2px solid #f00; style="background-color:#CCCCCC;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Unl)).' target="_new">'.ucfirst(strtolower($Unl)).'</a></td><td><font color="#008000"><b>&nbsp;&nbsp;vrij</b></font></td></tr>';
    }

    if (count($REScom)) {
        echo '<tr border: 2px solid #f00; style="background-color:#FFFFFF;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Ucom)).' target="_new">'.ucfirst(strtolower($Ucom)).'</a></td><td><font color="#FF0000"><b>&nbsp;&nbsp;bezet</b></font></td></tr>';
    }
else{
        echo '<tr border: 2px solid #f00; style="background-color:#FFFFFF;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Ucom)).' target="_new">'.ucfirst(strtolower($Ucom)).'</a></td><td><font color="#008000"><b>&nbsp;&nbsp;vrij</b></font></td></tr>';
    }

    if (count($RESbe)) {
        echo '<tr border: 2px solid #f00; style="background-color:#CCCCCC;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Ube)).' target="_new">'.ucfirst(strtolower($Ube)).'</a></td><td><font color="#FF0000"><b>&nbsp;&nbsp;bezet</b></font></td></tr>';
    }
else{
        echo '<tr border: 2px solid #f00; style="background-color:#CCCCCC;"><td width="250px">&nbsp;&nbsp;<a href=http://'.ucfirst(strtolower($Ube)).' target="_new">'.ucfirst(strtolower($Ube)).'</a></td><td><font color="#008000"><b>&nbsp;&nbsp;vrij</b></font></td></tr>';
    }
    
    }
else{
    $url = trim($url);
    $url = str_replace("http://www.", "", $url);
    $url = str_replace("/", "", $url);
    $url = str_replace("www.", "", $url);
    $url = str_replace("http:", "", $url);
    
    $result = dns_get_record($url);
    if (count($result)) {
        echo '<tr style="border:#000000 solid;"><td>'.$url.' is bezet</td></tr>';
    }
else{
        echo '<tr style="border:#000000 solid;"><td>'.$url.' is vrij</td></tr>';
    }
    }

    echo '</table>';
}

?>
 
Jacco Brandt

Jacco Brandt

08/10/2011 17:16:04
Quote Anchor link
Dat zul je die sites moeten opvragen in javascript, door middel van AJAX.
 
Tom aan t Goor

Tom aan t Goor

08/10/2011 17:17:16
Quote Anchor link
Jacco Brandt op 08/10/2011 17:16:04:
Dat zul je die sites moeten opvragen in javascript, door middel van AJAX.


En hoe doe ik dit?
 
Arjan -

Arjan -

08/10/2011 17:24:27
Quote Anchor link
Ook al is het misschien overdone voor jouw toepassing, dan nog kan je het beste jQuery of een andere javascript library gebruiken. Hiermee kan je redelijk eenvoudig ajax requests doen naar de server (ook asynchroon (daar staat immers de eerste A voor)). Wanneer je dan voor elke extensie een ajax request doet dan kan je voor het succesvol inladen een melding "laden..." weergeven. Na een controle op een succesvolle request is het mogelijk de teruggegeven (JSON) waarde weer te geven.

Kortweg: Verdiep je in javascript en / of gebruik een bestaande library die veel compatibiliteitsproblemen al voor je heeft opgelost.
Gewijzigd op 08/10/2011 17:27:12 door Arjan -
 
Jacco Brandt

Jacco Brandt

08/10/2011 17:33:48
Quote Anchor link
Nou, je zorgt ervoor dat je formulier niet meer gepost word, en dat je het onsubmit-event afvangt. Zoals dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form onsubmit="javascript:checkDomains();">

Daarna defineer je de functie checkDomains, en zorg je dat deze AJAX-requests uitsturen naar deze sites. Deze resultaten verwerk je dan weer.
 
Tom aan t Goor

Tom aan t Goor

08/10/2011 18:03:34
Quote Anchor link
Sorry, Jacco, maar ik snap het niet zo goed
 
Jacco Brandt

Jacco Brandt

08/10/2011 19:30:57
Quote Anchor link
Heb je uberhaupt ervaring met javascript?
 
Tom aan t Goor

Tom aan t Goor

08/10/2011 23:14:54
Quote Anchor link
Ja, maar niet heel veel, javascript is één van mijn slechtste punten
 
Jacco Brandt

Jacco Brandt

08/10/2011 23:21:59
Quote Anchor link
Wat heb je al geprobeert?
 
Tom aan t Goor

Tom aan t Goor

09/10/2011 09:15:16
Quote Anchor link
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
<script type="text/javascript">
var ray={
ajax:function(st)
    {
        this.show('load');
    },
show:function(el)
    {
        this.getID(el).style.display='';
    },
getID:function(el)
    {
        return document.getElementById(el);
    }
}
</script>
<style type="text/css">
#load{

}
</style>


En dan in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset(...)){
<
div id="load">en daar de uitkomst</div>
}

?>


maar dat werkt niet.

Toevoeging op 10/10/2011 07:12:22:

Tom Tom op 09/10/2011 09:15:16:
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
<script type="text/javascript">
var ray={
ajax:function(st)
    {
        this.show('load');
    },
show:function(el)
    {
        this.getID(el).style.display='';
    },
getID:function(el)
    {
        return document.getElementById(el);
    }
}
</script>
<style type="text/css">
#load{

}
</style>


En dan in
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset($_POST['check'])){
echo '<div id="load">en daar de uitkomst</div>';
}

?>


maar dat werkt niet.
Gewijzigd op 09/10/2011 09:16:07 door Tom aan t Goor
 



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.