Beste tweakers, ik heb een tijdje geleden een domeinchecker gedownload en heb hieronder een formulier gehangen (met mail functie). Nu wil ik dat mensen meerdere domeinen kunnen selecteren maar het probleem is dat heel de pagina refreshed als er op "GO" word gedrukt om domeinen mee te checken, als er dan een domein word toegevoegd in het vakje (dmv javascript) en men wilt nog een domein toevoegen kan dat niet omdat de informatie niet onthouden word als de pagina refreshed. Nu is mijn vraag of hier een oplossing voor is (zelf zat ik te denken aan sessies maar weet niet goed hoe ik dit moet toepassen op mijn script.) Hieronder staat mijn script :
Dingen die ik zelf heb geprobeerd zijn zoals jullie kunnen zien de SESSION zetten bij
Maar ik wil dat het domein pas word toegevoegd in het vakje als de user klikt op toevoegen. Dat scriptje hiervoor staat in mijn functions.php :
Maar hoe krijg ik dit voor elkaar?
PHP:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
| <?php start_session(); ?> <?php include 'functions.php'; //het bestand met de functies includen include 'config.php'; //het bestand met de WhoIs server gegevens includen function valid_mail ($str){ return(ereg ('(^[0-9a-zA-Z_\.-]{1,}@([0-9a-zA-Z_\-]{1,}\.)+[0-9a-zA-Z_\-]{2,}$)',$str)); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="functions.js"></script> <link rel="stylesheet" type="text/css" media="screen, projection" href="style.css" /> </head> <body> <h1>Uw domein registreren</h1> <div id="demo"> <form method="get" class="whoisform" action="#"> <p><span style="position:relative;top:-1px;">www.</span> <input type="text" name="domain" value="<?=isset($_GET['domain']) ? $_GET['domain'] : '' ?>" />. <select name="tld"> <?php foreach($servers as $key => $server) //een foreach over alle opgegeven servers (uit het config bestand) { echo '<option value="'.$key.'"'; ///een option echoen if(isset($_GET['tld']) && $_GET['tld'] == $key) //als de geposte extensie hetzelfde is als de extension van de foreach { echo ' selected="selected"'; //dan moet de optie geselecteerd zijn } echo '>.'.$key.'</option>'."\n"; //en het einde van de option } ?> </select> <input type="submit" name="domaingo" value="Go" /> </p> </form> </div> <?php if($_SERVER['REQUEST_METHOD'] == 'GET') //als er gepost is { if(isset($_GET['domaingo'])){ if(empty($_GET['domain'])) //als het domein leeg is { echo 'Geen domein opgegeven'; } elseif(empty($_GET['tld'])) //als de extensie (om welke reden dan ook) leeg is { echo 'Extensie niet opgegeven'; } elseif(strlen($_GET['domain']) < 2) //als het domein korter is dan 2 tekens { echo 'domein is te kort'; } elseif(strlen($_GET['domain']) > 60) //als het domein langer is dan 60 tekens { echo 'domein is te lang'; } elseif(!preg_match('/^([a-zA-Z0-9_-]+)$/i', $_GET['domain'])) //als het domein illigale karakters bevat { echo 'Er mogen alleen letters en cijfers in de url zitten, let op dat je alleen het gedeelte tussen www. en .extensie invult. Dus niet www.google.nl of google.nl of www.google, maar gewoon google.'; } else //als er geen errors zijn opgetreden { //echo de "status" div, en start de tabel ?> <div id='whoiswait'> <div class='outer'> <div class='inner'> laden<br /> checking <span id='whoistld'></span> </div> </div> </div> <table id="whoistable" border="0" width="100%" cellpadding="5" cellspacing="0"> <tr> <th>Domein</th> <th>Resultaat</th> <th>Toevoegen</th> </tr> <tr> <?php $domein = str_replace('http://', '',$_SESSION = $_GET['domain']); //haal eventueel http:// uit de URL $domein = str_replace('www.', '', $domein); //haal even www. uit de url $domein = htmlentities($domein); //haal eventueel karakters eruit die er niet in thuis horen $extensie = htmlentities($_GET['tld']); //haal eventueel karakters eruit die er niet in thuis horen if($extensie == 'all') //als alle extensies moeten worden gecontroleerd { $i = 0; //set $i op 0, zodat we straks met deze variabele kunnen gaan werekn foreach($servers as $extensie => $server) //een foreach over alle WhoIs servers { echo "<script type='text/javascript'> if(document.getElementById('whoistld')) { document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\"; } </script>"; //echo de data die de de status div laat veranderen $i++; //verhoog i met 1, zodat we de afwisselende kleurtjes krijgen voer_uit($domein, $extensie, $server, $i); //voer de functie voer_uit uit, uit functions.php flush(); //send alle output naar de browser, zodat de status div geupdate wordt. } } else //als er maar 1 domein wordt opgeroepen { echo "<script type='text/javascript'> if(document.getElementById('whoistld')) { document.getElementById('whoistld').innerHTML=\"".$domein.".".$extensie."\"; } </script>"; //echo de data voor de status div flush(); //stuur de info voor de status informatie naar de browser $servers[$extensie] = isset($servers[$extensie]) ? $servers[$extensie] : 'na'; //zoek de gegevens op in de array voer_uit($domein, $extensie, $servers[$extensie], false); //voer de functie voer_uit uit, uit functions.php } echo "<script type='text/javascript'> if(document.getElementById('whoiswait')) { document.getElementById('whoiswait').style.display = 'none'; } </script>"; //echo dat de status div verborgen mag worden ?> </table> <?php } echo'<br><form method="post"> <table width="500"> <td width="700"> <textarea name="domein" id="MyTextBox" rows="4" cols="20">'.$_SESSION = $_GET['domain'].'</textarea><p> </td> |
Dingen die ik zelf heb geprobeerd zijn zoals jullie kunnen zien de SESSION zetten bij
PHP:
. En zet hem in de textarea : 1
| $domein = str_replace('http://', '',$_SESSION = $_GET['domain']); //haal eventueel http:// uit de URL |
PHP:
zoals jullie kunnen zien. Als ik dan op post druk zet hij hem meteen het ingevulde domein in het vakje, als ik dan op een nieuwe domein zoek refreshed hij alsnog en blijft het vorige niet in het vakje staan (maar dan komt het nieuwe er voor in de plaats en dit hoort niet want het oude moet ook blijven bestaan).1
| <textarea name="domein" id="MyTextBox" rows="4" cols="20">'.$_SESSION = $_GET['domain'].'</textarea><p> |
Maar ik wil dat het domein pas word toegevoegd in het vakje als de user klikt op toevoegen. Dat scriptje hiervoor staat in mijn functions.php :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| echo '<script type="text/javascript" language="javascript"><!-- function ChgText() { var MyElement = document.getElementById("MyTextBox"); MyElement.value += "'.$domein.'.'.$extensie.'"; return true; } //--></script> <img src="my_image.jpg" alt="Toevoegen" onclick="ChgText()" style="cursor:pointer" />'; |
Maar hoe krijg ik dit voor elkaar?