Form vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

- Val -

- Val -

24/09/2011 09:00:00
Quote Anchor link
Hey iedereen,

Ik ben bezig met een scriptje te schrijven die reparaties toevoegt aan een database. Ben opzich best een endje ik loop alleen vast op 2 punten. Ik eigenlijk graag dat zodra er iets wordt ingevuld het gecontroleerd wordt in de database of het er al is/en of de informatie correct is en dat wordt weergegeven op het form.
dus zeg maar of $reparatienummer al in de database staat $telefoonnummer of die dit formaat heeft (0000-000000) en of het $email adres correct is dat is ingevuld.

Mijn 2de vraagpunt is
Ik heb de naam/adres gegevens in een 2de database geplaatst omdat ik die dadelijk wil oproepen op verschillende plaatsen. Nu vraag ik me alleen af hoe kan ik er nu voor zorgen dat deze ook gecheckt worden of ze erin staat en hoe deze dan gezocht kunnen worden om toevoegt te worden.

Ik weet niet goed of dit hier thuis hoort ik ben pas sinds deze week aan php begonnen vandaar dat ik ze onder beginnen met php heb gezet. Ik ben best al aan het zoeken geweest en heb een aantal problemen zelf kunnen oplossen, maar hier ben ik al 2 dagen voor naar een oplossing aan het zoeken. Mocht er iets niet duidelijk zijn vraag en alvast bedankt voor jullie input!
 
PHP hulp

PHP hulp

07/01/2025 06:56:02
 
Obelix Idefix

Obelix Idefix

24/09/2011 09:06:09
Quote Anchor link
Als je direct (bij het invoeren) wilt checken of de gegevens correct zijn, zul je naar AJAX of jquery moeten kijken.
 
- Val -

- Val -

24/09/2011 09:14:02
Quote Anchor link
Ok bedankt, ga ik me daar me daar ook eens in verdiepen, maar mijn voornaamste vraag dan op dit moment is het telefoonnummer hoe check ik of hij dat formaat heeft zonder dat hij dit direct weergeeft.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/09/2011 09:48:29
Quote Anchor link
Op je 1e vraag:
Door middel van AJAX kun je php scripts aanroepen en dus ook je database controleren. Een andere manier is om een script aan te roepen en als er niet klopt
het form terug te geven.

Op je 2e vraag:
Ik neem aan dat je een 2de tabel bedoelt.
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
<?php
include('dbconnect.php');
$check = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
$email = $_POST['email'];
if (preg_match($check, $email)) {
    $sql = "SELECT * FROM customers WHERE email='$email'";
    $result = mysql_query($sql);
    if ($result) {
        if (mysql_num_rows($result) > 0) {
            //emailadres exists
            //do somthing here

        }
        else
            //emailadres doesn't exist
            //insert new recortd in customer table

    }
}

?>
 
Obelix Idefix

Obelix Idefix

24/09/2011 09:49:04
Quote Anchor link
Ger was net wat sneller.
Gewijzigd op 24/09/2011 09:49:51 door Obelix Idefix
 
- Val -

- Val -

24/09/2011 10:03:02
Quote Anchor link
Hey Ger & Obelix,

bedankt voor jullie reacties
Ik denk dat ik voor nu wil gaan kijken naar:
"Een andere manier is om een script aan te roepen en als er niet klopt het form terug te geven.", maar hoe doe ik dit. Het liefst ook met de error meldingen er dan bij. Hoeft inderdaad niet meteen in het form weergegeven te wordendat was iets te hoog gegrepen nog(kan het altijd nog later uitbreiden).

en inderdaad ik bedoelde een 2de tabel ;) niet helemaal wakker nog denk ik :D, maar mijn vraag is dan meer als ik de naam/adres woonplaats type en hij staat er al hoe kan ik deze goed en snel terug roepen of zit ik dan weer aan Ajax vast? (dan moet ik daar gewoon eens heel goed naar gaan kijken) .
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/09/2011 10:58:45
Quote Anchor link
Hoi Val,

Ik gebruik bijna altijd AJAX om dat het een stuk gebruiksvriendelijker werkt.
Hoe is je vaardigheid met Javascript? Het principe van AJAX is heel simpel:
Je maakt een element (meestal een div of een span) met een id en vult deze dmv javascript met html, bv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
function ajaxcall(url, ID) {    
    
    doc = new XMLHttpRequest();
    doc.onreadystatechange = function(){
        if (doc.readyState == 4 && (doc.status==200 || window.location.href.indexOf("http")==-1))
            document.getElementById(ID).innerHTML=doc.responseText
    }
    doc.open("GET", url, false);
    doc.send();
}
.
Je moet er alleen op letten dat je in het script alleen html code terug geeft die tussen de <body> tags, dus geen headers.
 
- Val -

- Val -

24/09/2011 22:06:43
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
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<?php

error_reporting(E_ALL);
include('verbind.php');

if(isset($_POST['toevoegen'])){
    
function
check_input($value)
{

if (get_magic_quotes_gpc())
  {

  $value = stripslashes($value);
  }

if (!is_numeric($value))
  {

  $value = "'" . mysql_real_escape_string($value) . "'";
  }

return $value;
}


$Reparatienummer = check_input($_POST['reparatienummer']);

$Naam = $_POST['naam'];
$Bedrijfsnaam = $_POST['Bedrijfsnaam'];
$Adres = $_POST['adres'];
$Postcode = $_POST['postcode'];
$Plaats = $_POST['plaats'];
$Telefoonnummer = $_POST['telefoonnummer'];
$Mobielnummer = $_POST['Mobielnummer'];
$Email = $_POST['Email'];
$Reparatienummer = $_POST['reparatienummer'];
$Soortreparatie = $_POST['soortreparatie'];
$Reparatieverzoek = $_POST['reparatieverzoek'];
$Merk = $_POST['merk'];
$Type = $_POST['type'];
$Tas = $_POST['tas'];
$Oplader = $_POST['oplader'];
$Geholpendoor = $_POST['geholpendoor'];
$Backup = $_POST['backup'];
$Datum = $_POST['Datum'];
$Klaar = $_POST['Klaar'];
$Meegegeven = $_POST['Meegegeven'];
$Number = $_POST['number'];

    function
checkPhonenumber($Telefoonnummer) {
    $stripped = preg_replace("/[^0-9]/", "", $Telefoonnummer);
    if (strlen($stripped) == 10)
     return $stripped;
    else {$werk = 'nee';}
    return $werk;
}

    function
checkPhonenumber($Mobielnummer) {
    $mob = preg_replace("/[^0-9]/", "", $Mobielnummer);
    if (strlen($mob) == 10)
     return $mob;
    else {$mobwerk = 'nee';}
    return $mobwerk;
}
        function
email_validator($Email){
            if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$Email))
               {
$geldig = 'ja';   }
           else{$geldig = 'nee';}
        return $geldig;
        }
        function
reparatienummer_check($Reparatienummer){
                $reparatie_query = "SELECT Reparatienummer FROM Reparatiebon WHERE Reparatienummer='$Reparatienummer';";
                

                $reparatie_sql   = mysql_query($reparatie_query)or die(mysql_error());
                if(mysql_num_rows($reparatie_sql) == 0)
                    {
$bezet =  'nee';}
                else{$bezet =  'ja' ;}
                return $bezet;
        }

        
       if(trim($Naam) == "Naam"){
                    echo 'U heeft geen Naam ingevuld';
             }
elseif(email_validator($Email) == 'nee'){
                   echo 'Het ingevulde emailadres is niet geldig';
     }
elseif(checkPhonenumber($Telefoonnummer) == 'nee'){
                   echo 'Het telefoonnummer klopt niet';
     }
elseif(checkPhonenumber($Mobielnummer) == 'nee'){
                   echo 'Het Mobiele Nr klopt niet';
               }
elseif(reparatienummer_check($Reparatienummer) ==  'ja'){
                   echo 'Er bestaal al een reparatiebon op dit nummer.';
               }
else{

$sql="INSERT INTO NAW(Naam, Adres, Postcode, Telefoonnummer, Plaats, Mobielnummer, Email, Bedrijfsnaam)
VALUES
('$Naam','$Adres','$Postcode','$Telefoonnummer','$Plaats','$Mobielnummer','$Email','$Bedrijfsnaam.')"
;

if (!mysql_query($sql,$con))
  {

  die('Error: ' . mysql_error());
  }

  
$NAWid = mysql_insert_id();

$sql2="INSERT INTO Reparatiebon(Reparatienummer, Reparatieverzoek, Soortreparatie, Merk, Type, Tas, Oplader, Geholpendoor, Backup, Naam, Adres, Postcode, Telefoonnummer, Plaats, Mobielnummer, Klaar, Meegegeven, Email, Bedrijfsnaam,Datum,NAWid,Number)
VALUES
('$Reparatienummer','$Reparatieverzoek','$Soortreparatie','$Merk','$Type','$Tas','$Oplader','$Geholpendoor','$Backup','$Naam','$Adres','$Postcode','$Telefoonnummer','$Plaats','$Mobielnummer','$Klaar','$Meegegeven','$Email','$Bedrijfsnaam','$Datum','$NAWid','$Number.')"
;

if (!mysql_query($sql2,$con))
  {

  die('Error: ' . mysql_error());
  }

  
echo "<h1>De reparatie is opgeslagen!</h1>
<a href='index.php'> Click hier voor de reparatie lijst</a> "
;
                              
               }
}
else{



    ?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<STYLE TYPE="text/css">
<!--
TD {background-repeat: no-repeat; }
-->
</STYLE>
</head>

<body>
<form action="reparatie.php" method="post">
<table width="1113" border="0">
  <tr>
    <td width="832" height="94" border="0" background="logo.jpg" backgroundrepeat="no-repeat"><strong><br />
      <br />
      <br />
    </strong></td>
    <td width="265" background="reparatienummer.gif"><h2 align="center"><strong>      Uw Reparatienummer:<br />
    </strong><strong>
    <label for="reparatienummer"></label>
    <input name="reparatienummer" type="text" id="reparatienummer" value="100" />
    <br>
    </strong></h2></td>
  </tr>
</table>
<p>
  <label for="Naam"></label>
  <input name="naam" type="text" id="naam" value="Naam" />
  <br />
  <input name="Bedrijfsnaam" type="text" id="bedrijfsnaam" value="Bedrijfsnaam" />
<br />
  <label for="Adres"></label>
  <input name="adres" type="text" id="adres" value="Adres" />
  <br />
  <label for="Postcode"></label>
  <input name="postcode" type="text" id="postcode" value="Postcode" size="8" maxlength="8" />
  <label for="Plaats"></label>
  <input name="plaats" type="text" id="plaats" value="Plaats" /><br />
  <label for="Telefoonnummer"></label>
  <input name="telefoonnummer" type="text" id="telefoonnummer" value="Telefoonnummer" />
  <em>Indien geen 0000000000 invullen</em><br />
  <label for="Mobielnummer"></label>
  <input name="Mobielnummer" type="text" id="Mobielnummer" value="Mobielnummer" />
  <em>Indien geen 0000000000 invullen</em><br />
  <input name="Email" type="text" id="Email" value="Email" />
  <br />
</p>
<p><strong> U bent geholpen door: </strong>
  <select name="geholpendoor" id="geholpendoor">
    <option value="Jacco">Jacco</option>
    <option value="Bas">Bas</option>
    <option value="Sem">Sem</option>
  </select>
  <strong>Datum:</strong>
  <input name="Datum" type="text" id="datum" value="<?php echo date("d-m-Y");?>" />
  <em>(dd-mm-yyyy)</em><br />
  <label for="soortreparatie"></label>
  <select name="soortreparatie" id="soortreparatie">
    <option value="Laptop" selected="selected">Laptop</option>
    <option value="Desktop/PC">Desktop/PC</option>
    <option value="Spelcomputer">Spelcomputer</option>
    <option value="Tablet">Tablet</option>
  </select>
  <strong>Merk:</strong>                                  
  <label for="Merk"></label>
  <label for="Merk"></label>
  <input type="text" name="merk" id="merk" />
  <strong> Type: </strong>
  <label for="type"></label>
  <input type="text" name="type" id="type" />
  <br />
  <em>Indien van toepassing:</em> <strong>Tas:</strong>
  <label for="tas"></label>
  <select name="tas" id="tas">
    <option value="Ja">Ja</option>
    <option value="Nee" selected="selected">Nee</option>
  </select>
  <strong>Oplader:</strong><strong>
    <select name="oplader" id="oplader">
      <option value="Ja">Ja</option>
      <option value="Nee" selected="selected">Nee</option>
    </select>
    Backup:</strong>
  <select name="backup" id="backup">
    <option value="Ja">Ja</option>
    <option value="Nee" selected="selected">Nee</option>
  </select>
  <strong> PC: </strong>
  <label for="type2"></label>
  <input type="text" name="number" id="number" />
<br />
  <strong>Reparatie Verzoek:</strong><br />
  <label for="reparatieverzoek"></label>
  <textarea name="reparatieverzoek" id="reparatieverzoek" cols="150" rows="20"></textarea>
  <br />
  <br />
  <strong>Reparatie Klaar:</strong>
  <select name="Klaar" id="klaar">
    <option value="Ja">Ja</option>
    <option value="Nee" selected="selected">Nee</option>
  </select>
  <br />
  <br />
  <strong>Terug gegeven aan klant:
  <select name="Meegegeven" id="meegegeven">
    <option value="Ja">Ja</option>
    <option value="Nee" selected="selected">Nee</option>
  </select>
  </strong><br />
</p>
<p>
<input type="submit" name="toevoegen" value="Reparatie Toevoegen" />
<br />
</p>
</form>
<a href="index.php">&lt;&lt; Terug naar reparatielijst</a>
<?php
}

?>

</body>
</html>
Gewijzigd op 25/09/2011 13:32:40 door - Val -
 
Jasper DS

Jasper DS

24/09/2011 23:04:57
Quote Anchor link
graag code tussen [code] [/code] - tags
 
- Val -

- Val -

24/09/2011 23:52:30
Quote Anchor link
Aangepast was er al naar opzoek
 
- SanThe -

- SanThe -

25/09/2011 06:13:06
Quote Anchor link
Google eens op sql-injection. Je script is namelijk lek.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/09/2011 09:56:13
Quote Anchor link
- SanThe - op 25/09/2011 06:13:06:
Google eens op sql-injection. Je script is namelijk lek.

Wat gerichter: mysql_real_escape_string
@Val
ik zou geen ereg* functies gebruiken maar preg_*, de eerste straks niet meer ondersteund in php.
voor het telefoonnummer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function checkPhonenumber($theNumber) {
    $stripped = preg_replace("/[^0-9]/", "", $theNumber);
    if (strlen($stripped) == 10) {
        return $stripped
    }
    else {
        return false
    }
}

?>

beetje adhoc code, houd geen rekening met landnummers etc.
Gewijzigd op 25/09/2011 10:05:05 door Ger van Steenderen
 
- Val -

- Val -

25/09/2011 10:07:08
Quote Anchor link
Hey -SanThe - en Ger, Bedankt voor jullie reacties ik ben het lek nu aan het dichten ik ga even spelen met het bovenstaande script kijken of ik ook het 0000-000000 resultaat kan krijgen wat ik wil.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/09/2011 10:18:31
Quote Anchor link
- Val - op 25/09/2011 10:07:08:
Hey -SanThe - en Ger, Bedankt voor jullie reacties ik ben het lek nu aan het dichten ik ga even spelen met het bovenstaande script kijken of ik ook het 0000-000000 resultaat kan krijgen wat ik wil.


wil je dat? mijn voorbeeld hierboven geeft een 10 cijferig telefoonnummer terug (of niks) ongeacht hoe het is ingevoerd, bv 020-1234567 of 0 20 12 34 567 hebbebn beiden als resultaat 0201234567
 
- Val -

- Val -

25/09/2011 10:20:18
Quote Anchor link
ooo super dat is ook goed! ik heb het dus toch niet helemaal goed begrepen ;). Ger zou ik zo onbeleefd mogen zijn om te vragen; je helpt me door aan te geven om Ajax te gebruiken om mijn script direct te controleren of door het formulier terug te geven. Ik ben hier een beetje op gaan zoeken, maar kom niet echt verder. Nog tips?.
Gewijzigd op 25/09/2011 10:23:18 door - Val -
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/09/2011 11:01:38
Quote Anchor link
Wat wil je met Ajax of puur php?

toevoeging:
Als je er toch echt in wilt gaan verdiepen kijk dan ook eens naar de jQuery lib.
Gewijzigd op 25/09/2011 11:17:31 door Ger van Steenderen
 
- Val -

- Val -

25/09/2011 12:13:40
Quote Anchor link
Domme vragen haal ik liever weg ;)
Gewijzigd op 25/09/2011 13:34:02 door - Val -
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/09/2011 12:31:49
Quote Anchor link
ik vermoed dat elders in het script de $telefoonnummer leeg is, checken met isset
 
- Val -

- Val -

25/09/2011 13:17:25
Quote Anchor link
Damm nu voel ik me dom hoofdletter :D
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/09/2011 13:28:07
Quote Anchor link
- Val - op 25/09/2011 13:17:25:
Damm nu voel ik me dom hoofdletter :D

Niet nodig dat zijn fouten die de meeste ervaren programeurs maken ;-)
 
- Val -

- Val -

25/09/2011 13:33:37
Quote Anchor link
;) Bedankt heb mijn script opnieuw hierboven gezet incl als het goed is bescherming tegen sql-injection klopt dit nu?
 

Pagina: 1 2 volgende »



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.