PHP in JS-onclick event

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Erwin H

Erwin H

17/07/2012 11:01:00
Quote Anchor link
Je gebruikt nu dubbele en enkele quotes door elkaar, dat gaat natuurlijk niet werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
url: "gegevens.php?lifenr='+lifenr+'&naam='+naam+'&geboortedatum='+geboortedatum+'",

Dit moet dus zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
url: "gegevens.php?lifenr="+lifenr+"&naam="+naam+"&geboortedatum="+geboortedatum,
 
PHP hulp

PHP hulp

24/04/2024 02:18:42
 
Olivier Peeters

Olivier Peeters

17/07/2012 22:00:56
Quote Anchor link
Perfect! Deze code werkte...

Maar, nu ik deze code wou testen, werkte deze niet en toch kreeg ik geen foutmelding (wel een andere pagina/doel)!
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
<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('');
      }
    });
  }


Groeten,
Olivier
 
Obelix Idefix

Obelix Idefix

18/07/2012 09:29:57
Quote Anchor link
"The amount of information you can send back using a GET is restricted as URLs can only be 1024 characters. " Geen idee hoeveel tekens jouw url bevat.

Hoe zit de url die je wilt inlezen er uit?

Heb je error-reporting aan staan?
 
Erwin H

Erwin H

18/07/2012 10:05:09
Quote Anchor link
Ten eerste lijkt het erop dat je data wilt oversturen om in een database te zetten. Als vuistregel wordt meestal gesteld dat je dan post zou moeten gebruiken (dus geen get). Voordeel is dat je dan meteen geen probleem meer hebt met de lengte van de data, post kent bij mijn weten geen limiet.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
url: "toevoegen.php?lifenr="
+lifenr

maar zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
url: "toevoegen.php?lifenr="+
lifenr
 
Olivier Peeters

Olivier Peeters

18/07/2012 10:30:13
Quote Anchor link
Hallo allen,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
 ?>


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
 
- SanThe -

- SanThe -

18/07/2012 10:34:50
Quote Anchor link
Een include() kan geen parameters bevatten.

Kan niet:
include('page.php?var=10');

Kan wel:
$_GET['var'] = 10;
include('page.php');
 
Olivier Peeters

Olivier Peeters

18/07/2012 10:35:59
Quote Anchor link
Hoe los je dit dan op?

Vriendelijke groeten,
Olivier Peeters
 
- SanThe -

- SanThe -

18/07/2012 10:37:31
Quote Anchor link
- SanThe - op 18/07/2012 10:34:50:
Kan wel:
$_GET['var'] = 10;
include('page.php');


Alle parameters in een $_GET zetten.
 
Olivier Peeters

Olivier Peeters

18/07/2012 17:23:12
Quote Anchor link
SanThe, klopt als een bus. Bedankt!

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)
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
<?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();
?>

Groeten,
Olivier
Gewijzigd op 18/07/2012 17:24:49 door Olivier Peeters
 
Eddy E

Eddy E

18/07/2012 17:36:45
Quote Anchor link
Haal die backticks (de `-haakjes) weg.
Zet je variabelen buiten quotes:

Dus zo:

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
<?php
$sql
= "INSERT INTO `a5852590_10`.`2012_2013`  (
id,
Achternaam,
Voornaam,
...
)VALUES(
'',
'"
.$achternaam."',
...
)"
;
 $results = $db->exec($sql);
 $insert_id = $db->lastInsertId();
?>
 
- SanThe -

- SanThe -

18/07/2012 18:21:29
Quote Anchor link
VALUES( '', 'Peeters', 'Olivier', , '1991-10-16',

Ik zie twee komma's achter elkaar.
 
Olivier Peeters

Olivier Peeters

20/07/2012 09:42:10
Quote Anchor link
SanThe, het was mijn fout, nu is deze pagina rechtegezet.

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)
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
<?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>


Wat doe ik fout?

Vriendelijke groeten,
Olivier Peeters
Gewijzigd op 20/07/2012 09:43:48 door Olivier Peeters
 
Erwin H

Erwin H

20/07/2012 09:48:39
Quote Anchor link
- SanThe - op 18/07/2012 10:37:31:
- SanThe - op 18/07/2012 10:34:50:
Kan wel:
$_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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$a
= 'hello world';
include 'eenanderbestand.php';
?>


eenanderbestand.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $a;
?>

Dit zal 'hello world' op het scherm toveren.
 
Olivier Peeters

Olivier Peeters

20/07/2012 11:15:58
Quote Anchor link
Hallo Erwin H,

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
 

Pagina: « vorige 1 2



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.