PHP in JS-onclick event
Dit moet dus zijn:
Maar, nu ik deze code wou testen, werkte deze niet en toch kreeg ik geen foutmelding (wel een andere pagina/doel)!
Code (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
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
<input type="submit" value="Toevoegen aan database!" onclick="gegevenstoevoegen(
'<?php echo ''; ?>',
'<?php echo $_GET['voornaam']; ?>',
'<?php echo $_GET['achternaam']; ?>',
'<?php echo $_GET['straat']; ?>',
'<?php echo $_GET['huisnummer']; ?>',
'<?php if(!empty($_GET['bus'])) { echo $_GET['bus']; } else { echo ''; } ?>',
'<?php echo $_GET['postcode']; ?>',
'<?php echo $_GET['gemeente']; ?>',
'<?php echo $_GET['geboortedatum']; ?>',
'<?php echo $_GET['geboorteplaats']; ?>',
'<?php echo $_GET['geslacht']; ?>',
'<?php echo $_GET['email']; ?>',
'<?php if(!empty($_GET['tel'])) { echo $_GET['tel']; } else { ''; } ?>',
'<?php if(!empty($_GET['gsm'])) { echo $_GET['gsm']; } else { ''; } ?>',
'<?php echo $_GET['ice']; ?>',
'<?php echo $_GET['aansluiting']; ?>',
'<?php if(isset($_GET['kavvvaansluiting'])) {echo '1'; } else { echo '0'; } ?>',
'<?php echo $_GET['invuller']; ?>',
'<?php echo $_GET['voorakkoord']; ?>',
'<?php echo $_GET['datum']; ?>'
)"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function gegevenstoevoegen(lifenr, voornaam, achternaam, straat, huisnummer, bus, postcode, gemeente, geboorte, geboorteplaats, geslacht, email, tel, gsm,
ice, type, kavvvaansluiting, invuller, akkoord, datum) {
$('#gegevens').hide();
$('#toevoegen').show()
$.ajax({ type: "GET",
url: "toevoegen.php?lifenr="+lifenr+"&voornaam="+voornaam+"&achternaam="+achternaam+"&straat="+straat+"&huisnummer="+huisnummer+"&bus="+bus
+"&postcode="+postcode+"&gemeente="+gemeente+"&geboortedatum="+geboorte+"&geboorteplaats="+geboorteplaats+"&geslacht="+geslacht+"&email="+email+"&tel="+tel
+"&gsm="+gsm+"&ice="+ice+"&aansluiting="+type+"&kavvvaansluiting="+kavvvaansluiting+"&invuller="+invuller+"&voorakkoord="+akkoord+"&datum="+datum,
async: false,
success : function(text) {
$('#toevoegen').html(text); // = steek tekst als innerHTML van het element met id="login"
$('#toevoegen').html('');
}
});
}
'<?php echo ''; ?>',
'<?php echo $_GET['voornaam']; ?>',
'<?php echo $_GET['achternaam']; ?>',
'<?php echo $_GET['straat']; ?>',
'<?php echo $_GET['huisnummer']; ?>',
'<?php if(!empty($_GET['bus'])) { echo $_GET['bus']; } else { echo ''; } ?>',
'<?php echo $_GET['postcode']; ?>',
'<?php echo $_GET['gemeente']; ?>',
'<?php echo $_GET['geboortedatum']; ?>',
'<?php echo $_GET['geboorteplaats']; ?>',
'<?php echo $_GET['geslacht']; ?>',
'<?php echo $_GET['email']; ?>',
'<?php if(!empty($_GET['tel'])) { echo $_GET['tel']; } else { ''; } ?>',
'<?php if(!empty($_GET['gsm'])) { echo $_GET['gsm']; } else { ''; } ?>',
'<?php echo $_GET['ice']; ?>',
'<?php echo $_GET['aansluiting']; ?>',
'<?php if(isset($_GET['kavvvaansluiting'])) {echo '1'; } else { echo '0'; } ?>',
'<?php echo $_GET['invuller']; ?>',
'<?php echo $_GET['voorakkoord']; ?>',
'<?php echo $_GET['datum']; ?>'
)"/>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function gegevenstoevoegen(lifenr, voornaam, achternaam, straat, huisnummer, bus, postcode, gemeente, geboorte, geboorteplaats, geslacht, email, tel, gsm,
ice, type, kavvvaansluiting, invuller, akkoord, datum) {
$('#gegevens').hide();
$('#toevoegen').show()
$.ajax({ type: "GET",
url: "toevoegen.php?lifenr="+lifenr+"&voornaam="+voornaam+"&achternaam="+achternaam+"&straat="+straat+"&huisnummer="+huisnummer+"&bus="+bus
+"&postcode="+postcode+"&gemeente="+gemeente+"&geboortedatum="+geboorte+"&geboorteplaats="+geboorteplaats+"&geslacht="+geslacht+"&email="+email+"&tel="+tel
+"&gsm="+gsm+"&ice="+ice+"&aansluiting="+type+"&kavvvaansluiting="+kavvvaansluiting+"&invuller="+invuller+"&voorakkoord="+akkoord+"&datum="+datum,
async: false,
success : function(text) {
$('#toevoegen').html(text); // = steek tekst als innerHTML van het element met id="login"
$('#toevoegen').html('');
}
});
}
Groeten,
Olivier
Hoe zit de url die je wilt inlezen er uit?
Heb je error-reporting aan staan?
Ten tweede lijkt het erop dat je de get string zoals je die nu hebt over meerdere regels laat lopen. Javascript heeft daar over het algemeen wat moeite mee. Als je het al doet moet je ervoor zorgen dat je de string breekt bij de plus tekens en dan het plusje laat staan op de bovenste regel. Dus niet zo:
maar zo:
het probleem zelf had ik al opgelost, naar die opmerkingen hierboven zal ik zodadelijk kijken. Alle foutmeldingen staan trouwens aan. En de definitieve code hier dan posten. Ik stel nu even een ander kleiner probleem, irrelevant tot deze vraag, maar te stom om een nieuw topic te openen..
Mijn PHP include werkt niet =>
Code (php)
1
2
3
4
5
2
3
4
5
<?php
include ('./PDF/index.php?voornaam='.$voornaam.'&achternaam='.$achternaam.'&geboorte='.$geboortedatum.'&geslacht='.$geslacht.'&straat='.
$straat.'&huisnummer='.$huisnummer.'&bus='.$bus.'&postcode='.$postcode.'&gemeente='.$gemeente.'&aansluiting='.$aansluiting.'&kavvvaansluiting='.
$kavvvaansluiting.'&tel='.$tel.'&gsm='.$gsm.'&ice='.$ice.'&email='.$email);
?>
include ('./PDF/index.php?voornaam='.$voornaam.'&achternaam='.$achternaam.'&geboorte='.$geboortedatum.'&geslacht='.$geslacht.'&straat='.
$straat.'&huisnummer='.$huisnummer.'&bus='.$bus.'&postcode='.$postcode.'&gemeente='.$gemeente.'&aansluiting='.$aansluiting.'&kavvvaansluiting='.
$kavvvaansluiting.'&tel='.$tel.'&gsm='.$gsm.'&ice='.$ice.'&email='.$email);
?>
Dus ik moet in de map PDF de index oproepen...
Foutmeldingen...
Warning: include(./PDF/index.php?voornaam=Olivier&achternaam=Peeters&geboorte=1912-01-01&geslacht=Man&straat=Lindenstraat&huisnummer=164&bus=&postcode=2070&gemeente=Zwijndrecht&aansluiting=Wedstijdatleet&kavvvaansluiting=1&tel=03/252.85.89&gsm=0470/12.68.52&ice=03/252.85.89&[email protected]) [function.include]: failed to open stream: No such file or directory in /home/a5852590/public_html/Inschrijvingen/toevoegen.php on line 74
PHP Error Message
Warning: include() [function.include]: Failed opening './PDF/index.php?voornaam=Olivier&achternaam=Peeters&geboorte=1912-01-01&geslacht=Man&straat=Lindenstraat&huisnummer=164&bus=&postcode=2070&gemeente=Zwijndrecht&aansluiting=Wedstijdatleet&kavvvaansluiting=1&tel=03/252.85.89&gsm=0470/12.68.52&ice=03/252.85.89&[email protected]' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a5852590/public_html/Inschrijvingen/toevoegen.php on line 74
(Mijn include staat dus op lijn 74)
Mijn excuses indien ik dit hier niet mag vragen, maar ik vond dit te stom voor een nieuw topic + ik zal deze vraag verwijderen als deze opgelost is....
Groeten,
Olivier
Kan niet:
include('page.php?var=10');
Kan wel:
$_GET['var'] = 10;
include('page.php');
Vriendelijke groeten,
Olivier Peeters
- SanThe - op 18/07/2012 10:34:50:
Kan wel:
$_GET['var'] = 10;
include('page.php');
$_GET['var'] = 10;
include('page.php');
Alle parameters in een $_GET zetten.
Nog een allerlaatste vraagje en mijn projectje is af... Dan voeg ik wel eens een review toe, zodat jullie kunnen controleren.
Volgende code lever deze fout:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '1991-10-16', 'Wilrijk (Antwerpen)', 'Man', 'Lindenstraat', ' 164', '', 2070, '' at line 1
INSERT INTO `a5852590_10`.`2012_2013` ( `id` , `Achternaam` , `Voornaam` , `Lifenr` , `Geboortedatum` , `Geboorteplaats` , `Geslacht` , `Straat` , `Huisnummer` , `Busnummer` , `Postcode` , `Gemeente` , `Aansluiting` , `VALAansluiting` , `KAVVVAansluiting` , `Tel` , `GSM` , `ICE` , `Email` )VALUES( '', 'Peeters', 'Olivier', , '1991-10-16', 'Wilrijk (Antwerpen)', 'Man', 'Lindenstraat', ' 164', '', 2070, 'Zwijndrecht', 'Wedstijdatleet', 0, '1', '03/252.85.89', '0470/12.68.52', '03/252.85.89', '[email protected]' )
Ik heb gezocht op google, maar krijg fouten met database maken ipv toevoegen. Iemand van jullie die de oplossing weet?
edit: De php-code op de pagina is zo:
Code (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
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
<?php
$sql= "INSERT INTO `a5852590_10`.`2012_2013` (
`id` ,
`Achternaam` ,
`Voornaam` ,
`Lifenr` ,
`Geboortedatum` ,
`Geboorteplaats` ,
`Geslacht` ,
`Straat` ,
`Huisnummer` ,
`Busnummer` ,
`Postcode` ,
`Gemeente` ,
`Aansluiting` ,
`VALAansluiting` ,
`KAVVVAansluiting` ,
`Tel` ,
`GSM` ,
`ICE` ,
`Email`
)VALUES(
'',
'$achternaam',
'$voornaam',
$lifenr,
'$geboortedatum',
'$geboorteplaats',
'$geslacht',
'$straat', '
$huisnummer',
'$bus',
$postcode,
'$gemeente',
'$aansluiting',
0,
'$kavvvaansluiting',
'$tel',
'$gsm',
'$ice',
'$email'
)";
$results = $db->exec($sql);
$insert_id = $db->lastInsertId();
?>
$sql= "INSERT INTO `a5852590_10`.`2012_2013` (
`id` ,
`Achternaam` ,
`Voornaam` ,
`Lifenr` ,
`Geboortedatum` ,
`Geboorteplaats` ,
`Geslacht` ,
`Straat` ,
`Huisnummer` ,
`Busnummer` ,
`Postcode` ,
`Gemeente` ,
`Aansluiting` ,
`VALAansluiting` ,
`KAVVVAansluiting` ,
`Tel` ,
`GSM` ,
`ICE` ,
`Email`
)VALUES(
'',
'$achternaam',
'$voornaam',
$lifenr,
'$geboortedatum',
'$geboorteplaats',
'$geslacht',
'$straat', '
$huisnummer',
'$bus',
$postcode,
'$gemeente',
'$aansluiting',
0,
'$kavvvaansluiting',
'$tel',
'$gsm',
'$ice',
'$email'
)";
$results = $db->exec($sql);
$insert_id = $db->lastInsertId();
?>
Groeten,
Olivier
Gewijzigd op 18/07/2012 17:24:49 door Olivier Peeters
Zet je variabelen buiten quotes:
Dus zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql= "INSERT INTO `a5852590_10`.`2012_2013` (
id,
Achternaam,
Voornaam,
...
)VALUES(
'',
'".$achternaam."',
...
)";
$results = $db->exec($sql);
$insert_id = $db->lastInsertId();
?>
$sql= "INSERT INTO `a5852590_10`.`2012_2013` (
id,
Achternaam,
Voornaam,
...
)VALUES(
'',
'".$achternaam."',
...
)";
$results = $db->exec($sql);
$insert_id = $db->lastInsertId();
?>
Ik zie twee komma's achter elkaar.
Ik probeerde op een andere pagina eveneens een JS OnClick event te maken maar ik krijg niets verandering? Wat doe ik mis?
Code volledige pagina:
Code (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
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
<?php
// Datepicker voor het begin fixen -->
function date_picker($name, $startyear=NULL, $endyear=NULL)
{
if($startyear==NULL) $startyear = date("Y")-100;
if($endyear==NULL) $endyear=date("Y")-5;
$months=array('','Januari','Februari','Maart','April','Mei', 'Juni','Juli','Augustus', 'September','Oktober','November','December');
// Day dropdown
$html="<select name=\"".$name."dag\">";
$ii = array ('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22',
'23', '24', '25', '26', '27', '28', '29', '30', '31');
for($i=01;$i<=31;$i++)
{
$html.="<option value='$ii[$i]'>$i</option>";
}
$html.="</select> ";
// Month dropdown
$html.="<select name=\"".$name."maand\">";
for($i=01;$i<=12;$i++)
{
$html.="<option value='$ii[$i]'>$months[$i]</option>";
}
$html.="</select> ";
// Year dropdown
$html.="<select name=\"".$name."jaar\">";
for($i=$startyear;$i<=$endyear;$i++)
{
$html.="<option value='$i'>$i</option>";
}
$html.="</select> ";
return $html;
}
?>
<!-- Validatielinks -->
<!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://www.geektantra.com/projects/jquery-form-validate/javascripts/jquery.validate.js" type="text/javascript"></script>
<!-- Einde voor validatie -->
<script type="text/javascript">
/* <![CDATA[ */
jQuery(function(){
jQuery("#lifenr").validate({
expression: "if (VAL) return true; else return false;",
message: "Deze moet ingevuld worden!"
});
jQuery("#lifenr").validate({
expression: "if (VAL.match(/[0-9]{8}$/)) return true; else return false;",
message: "De ingevulde code moet je lifenummer zijn, bestaande uit 8 cijfers!"
});
});
function controleer(lifenr, geboorte) {
var lifenr = $("#lifenr").val();
var geboorte = $("#geboortedatumjaar").val()+"-"+$("#geboortedatummaand").val()+"-"+$("#geboortedatumdag").val();
$.ajax({ type: "GET",
url: "login-controle.php"?lifenr=+lifenr+"&geboortedatum="+geboorte,
async: false,
success : function(text) {
$('#login').html(text); // = steek tekst als innerHTML van het element met id="login"
}
});
}
</script>
Om toegang te krijgen tot je gegevens dien je in te loggen met de gegevens van afgelopen seizoen. Hiervoor het je nodig:
<ul>
<li> Lifenummer ==>
<button onclick="window.open('lifenummer.jpg', 'Lifenummervinden','status,width=800,height=1250'); return false"><i>Waar vind ik mijn lifenummer?
</i></button>
</li>
<li> Geboortedatum </li>
</ul>
Vul deze hieronder in!<br /><br />
<form id="1" name="controle" method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<table>
<tbody>
<tr>
<td>Lifenr</td>
<td><input type="text" name="lifenr" id="lifenr" width="200px"></td>
</tr>
<tr>
<td>Geboortedatum</td>
<td><div class="select"><?php echo date_picker ('geboortedatum', '', ''); ?></div></td>
</tr>
<tr>
<td></td><td><input type="button" onClick="controleer()">Ga door</td>
</tr>
</tbody>
</table>
</form>
// Datepicker voor het begin fixen -->
function date_picker($name, $startyear=NULL, $endyear=NULL)
{
if($startyear==NULL) $startyear = date("Y")-100;
if($endyear==NULL) $endyear=date("Y")-5;
$months=array('','Januari','Februari','Maart','April','Mei', 'Juni','Juli','Augustus', 'September','Oktober','November','December');
// Day dropdown
$html="<select name=\"".$name."dag\">";
$ii = array ('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22',
'23', '24', '25', '26', '27', '28', '29', '30', '31');
for($i=01;$i<=31;$i++)
{
$html.="<option value='$ii[$i]'>$i</option>";
}
$html.="</select> ";
// Month dropdown
$html.="<select name=\"".$name."maand\">";
for($i=01;$i<=12;$i++)
{
$html.="<option value='$ii[$i]'>$months[$i]</option>";
}
$html.="</select> ";
// Year dropdown
$html.="<select name=\"".$name."jaar\">";
for($i=$startyear;$i<=$endyear;$i++)
{
$html.="<option value='$i'>$i</option>";
}
$html.="</select> ";
return $html;
}
?>
<!-- Validatielinks -->
<!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://www.geektantra.com/projects/jquery-form-validate/javascripts/jquery.validate.js" type="text/javascript"></script>
<!-- Einde voor validatie -->
<script type="text/javascript">
/* <![CDATA[ */
jQuery(function(){
jQuery("#lifenr").validate({
expression: "if (VAL) return true; else return false;",
message: "Deze moet ingevuld worden!"
});
jQuery("#lifenr").validate({
expression: "if (VAL.match(/[0-9]{8}$/)) return true; else return false;",
message: "De ingevulde code moet je lifenummer zijn, bestaande uit 8 cijfers!"
});
});
function controleer(lifenr, geboorte) {
var lifenr = $("#lifenr").val();
var geboorte = $("#geboortedatumjaar").val()+"-"+$("#geboortedatummaand").val()+"-"+$("#geboortedatumdag").val();
$.ajax({ type: "GET",
url: "login-controle.php"?lifenr=+lifenr+"&geboortedatum="+geboorte,
async: false,
success : function(text) {
$('#login').html(text); // = steek tekst als innerHTML van het element met id="login"
}
});
}
</script>
Om toegang te krijgen tot je gegevens dien je in te loggen met de gegevens van afgelopen seizoen. Hiervoor het je nodig:
<ul>
<li> Lifenummer ==>
<button onclick="window.open('lifenummer.jpg', 'Lifenummervinden','status,width=800,height=1250'); return false"><i>Waar vind ik mijn lifenummer?
</i></button>
</li>
<li> Geboortedatum </li>
</ul>
Vul deze hieronder in!<br /><br />
<form id="1" name="controle" method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<table>
<tbody>
<tr>
<td>Lifenr</td>
<td><input type="text" name="lifenr" id="lifenr" width="200px"></td>
</tr>
<tr>
<td>Geboortedatum</td>
<td><div class="select"><?php echo date_picker ('geboortedatum', '', ''); ?></div></td>
</tr>
<tr>
<td></td><td><input type="button" onClick="controleer()">Ga door</td>
</tr>
</tbody>
</table>
</form>
Wat doe ik fout?
Vriendelijke groeten,
Olivier Peeters
Gewijzigd op 20/07/2012 09:43:48 door Olivier Peeters
- SanThe - op 18/07/2012 10:37:31:
Alle parameters in een $_GET zetten.
- SanThe - op 18/07/2012 10:34:50:
Kan wel:
$_GET['var'] = 10;
include('page.php');
$_GET['var'] = 10;
include('page.php');
Alle parameters in een $_GET zetten.
Niet noodzakelijk alleen $_GET. Vanaf het moment dat je een include doet wordt het script in het bestand dat wordt geinclude gewoon in dezelfde scope uitgevoerd als waar de include werd gedaan. Variabelen die in die scope bestaan kunnen dus ook in het include bestand gebruikt worden.
index.php:
eenanderbestand.php:
Dit zal 'hello world' op het scherm toveren.
bedankt voor de opmerking, ik had het probleem intussen kunnen oplossen, maar jouw tekst verduidelijkte het nog meer.
Ik zoek nu een oplossing voor mijn vorige post....
De site is trouwens te raadplegen (hier) en dan klikken op 'hier herinschrijven'.
Alvast bedankt
Olivier
Gewijzigd op 20/07/2012 11:16:26 door Olivier Peeters