login  Naam:   Wachtwoord: 
Registreer je!
 Forum

submit lukt niet

Offline dimaz - 09/07/2006 20:42 (laatste wijziging 09/07/2006 20:57)
Avatar van dimazNieuw lid
  1. <?
  2. $pagina = $_GET[pagina];
  3. $taalid = $_GET[taalid];
  4. ?>
  5. <div align="center">
  6. <form name="formulier" action="#" method="post">
  7. <script language="JavaScript1.2" type="text/javascript" src="javascript/ubbc.js"></script><br>
  8. <script language="JavaScript1.2" type="text/javascript" src="javascript/knoppen.js"></script><br>
  9. <script language="JavaScript1.2" type="text/javascript" src="javascript/smileys.js"></script><br><br>
  10. <textarea name="bericht" cols="50" rows="9" class="opmaak">
  11. <?php
  12. include("connect.php");
  13.  
  14. $query = mysql_query("SELECT text FROM $pagina WHERE id=$taalid");
  15. while (list($text) = mysql_fetch_row($query)){
  16. echo "$text";
  17. } ?>
  18.  
  19. </textarea><br>
  20. <input name="adj" type="submit" value="pas aan">
  21. <?
  22. if (isset($adj)) {
  23. $bericht = $_POST['bericht'];
  24. require("ubbc.php");
  25. $tussen = $bericht;
  26. include("connect.php");
  27. $result2 = mysql_query("UPDATE '$pagina' SET text='$tussen' WHERE id='$taalid' ") or die ("Fout met de database");
  28. }
  29. ?>


ik haal de text goed op in de textarea maar als ik op submit druk geeft hij fout met de database, maar heb eigelijkgeen ID waarom, de connect klopt dus daar ligt het niet, aan de ' ' ook niet.
iemand idee?

16 antwoorden

Gesponsorde links
Offline BigBug - 09/07/2006 20:43
Avatar van BigBug PHP expert Code tags ooit opgemerkt? 

Probeer eens in je form: action=""
Offline CDNC - 09/07/2006 20:44 (laatste wijziging 09/07/2006 20:46)
Avatar van CDNC PHP ver gevorderde lees de tutorial op site eens over SUPERGLOBALS, in de categorie php naruurlijk.

En gij zult vinden...

verder variabelen buiten de quotes en het is een enorm onveilig script, kun je zo mysql injetions mee doen
Offline dimaz - 09/07/2006 20:46
Avatar van dimaz Nieuw lid
Probeer eens in je form: action=""

da heeft er eigl nie veel te maken want et als men op submit gedrukt wordt gedrukt gaat em naar if isset
die # is gwoon om in de pagina te blijven, als ik hem weg doe veranderd er niet veel.
Offline BigBug - 09/07/2006 20:51
Avatar van BigBug PHP expert Om het ff samen te vatten, je code is 1 megagrote rotzooi, als je het nu eens tussen [ code] en [/ code] tags zou zetten... Dan is het misschien nog enigsinds te lezen.. Wat je het beste kan doen is proper HTML gaan leren.. En daarna rustig een start maken met PHP.. Want dit is echt te onoverzichtelijk.. Ooit van iets genaamd 'tab' gehoord? Nee zeker? Dat is een knopje boven de Caps Lock, waarbij je een regel een stukje laat inspringen...
Offline Bart - 09/07/2006 20:56 (laatste wijziging 09/07/2006 20:57)
Avatar van Bart PHP expert da heeft er eigl nie veel te maken want et als men op submit gedrukt wordt gedrukt gaat em naar if isset
die # is gwoon om in de pagina te blijven, als ik hem weg doe veranderd er niet veel.

Fout meneertje!
als je action="" doet, blijf je op dezelfde pagina en wordt het formulier WEL verzonden. Ook is het aan te raden code tags te gebruiken.
En method="POST" te gebruiken.

Als je variabelen wilt echoën, doe je dat zo:
echo $MijnVar1;
en niet
echo "$MijnVar1";

even voor de liefhebbers die de code goed willen lezen:
  1. <?
  2. $pagina = $_GET[pagina];
  3. $taalid = $_GET[taalid];
  4. ?>
  5. <div align="center">
  6. <form name="formulier" action="#" method="post">
  7. <script language="JavaScript1.2" type="text/javascript" src="javascript/ubbc.js"></script><br>
  8. <script language="JavaScript1.2" type="text/javascript" src="javascript/knoppen.js"></script><br>
  9. <script language="JavaScript1.2" type="text/javascript" src="javascript/smileys.js"></script><br><br>
  10. <textarea name="bericht" cols="50" rows="9" class="opmaak">
  11. <?php
  12. include("connect.php");
  13.  
  14. $query = mysql_query("SELECT text FROM $pagina WHERE id=$taalid");
  15. while (list($text) = mysql_fetch_row($query)){
  16. echo "$text";
  17. } ?>
  18.  
  19. </textarea><br>
  20. <input name="adj" type="submit" value="pas aan">
  21. <?
  22. if (isset($adj)) {
  23. $bericht = $_POST['bericht'];
  24. require("ubbc.php");
  25. $tussen = $bericht;
  26. include("connect.php");
  27. $result2 = mysql_query("UPDATE '$pagina' SET text='$tussen' WHERE id='$taalid' ") or die ("Fout met de database");
  28. }
  29. ?>
Offline BigBug - 09/07/2006 20:58
Avatar van BigBug PHP expert En voordat ik het vergeet... Sinds wanneer zet men variabelen binnen quote's?

Het moet dus niet:
  1. <?php mysql_query("UPDATE '$pagina'"); ?>

Maar:
  1. <?php mysql_query("UPDATE '".$pagina."'"); ?>


Wat ik trouwens ook zeer opmerkelijk vindt is die UPDATE '$pagina'. Want dan zou de naam van de tabel(mysql) in een var moeten zitten.
Offline Bart - 09/07/2006 21:02 (laatste wijziging 09/07/2006 21:04)
Avatar van Bart PHP expert Ook zou je kunnne overwegen dit eens te zien:
en niet klakkeloos kopieeren maar echt proberen iets ervan te leren:
http://plaatscode.be/1202/
Oja, ik heb niet alles gewijzigd, dat laat ik aan jou over, met behulp van de code die ik gewijzigd heb.
Offline BigBug - 09/07/2006 21:05 (laatste wijziging 09/07/2006 21:06)
Avatar van BigBug PHP expert
  1. $query = mysql_query("SELECT text FROM $pagina WHERE id=$taalid");


Je vergeet nog iets Quicky Je hebt nog een var binnen quotes staan...

  1. $query = mysql_query("SELECT text FROM ".$pagina." WHERE id='".$taalid."");


@dimaz, het is ook handig om je 'gegevenswaarde' een type te geven. PHP doet dit automatisch, maar gewoon voor jezelf als duidelijkheid dus:

Een integer: $iGetal
Een array: $aAutos
Een variable: $vIets
Offline Bart - 09/07/2006 21:07 (laatste wijziging 09/07/2006 21:09)
Avatar van Bart PHP expert
Citaat:
$query = mysql_query("SELECT text FROM $pagina WHERE id=$taalid");

Je vergeet nog iets Quicky Je hebt nog een var binnen quotes staan...

$query = mysql_query("SELECT text FROM $pagina WHERE id='".$taalid."");


@dimaz, het is ook handig om je 'gegevenswaarde' een type te geven. PHP doet dit automatisch, maar gewoon voor jezelf als duidelijkheid dus:

Een integer: $iGetal
Een array: $aAutos
Een variable: $vIets
Een variable zijn die 2 bovenstaanden ook hoor...
En ik liet een paar fouten met opzet zitten omdat hij er dan nog iets van kon leren, waarom haal je die fouten er dan voor hem uit. Oke, hij kan voor geen donder PHP en HTML etc. maar ook hij heeft het recht dit te leren.
Offline BigBug - 09/07/2006 21:15
Avatar van BigBug PHP expert
Citaat:
Een variable zijn die 2 bovenstaanden ook hoor...
Var = iets wat alles kan bevatten.. Als je alleen bijv: 1033 hebt, is het 'i' heb je en array is het 'a'. heb je 'jij bent een boer 123' is het 'v'.

Citaat:
waarom haal je die fouten er dan voor hem uit.
Wat denk je, ik denk dat jij hem een verbetering geeft, en jij dus iets over het hoofd ziet.. Nouja, inmiddels moet ie wel genoeg info hebben om het op te lossen 
Offline Ibrahim - 10/07/2006 05:36
Avatar van Ibrahim PHP expert
Citaat:
heb je 'jij bent een boer 123' is het 'v'.


wat is die 'v' ?? bedoel je niet misschien 's' voor string 
Offline BigBug - 10/07/2006 08:47
Avatar van BigBug PHP expert Oh, ik gebruik het als 'v' voor variabele! 
Offline Bart - 10/07/2006 08:50
Avatar van Bart PHP expert Oke, einde discussie, we hebben hier andere dingen aan ons hoofd.
We moeten dus dimaz helpen..
Offline Ibrahim - 10/07/2006 14:18 (laatste wijziging 10/07/2006 14:27)
Avatar van Ibrahim PHP expert
  1. <?php
  2. include("connect.php");
  3. require("ubbc.php");
  4.  
  5. $query = mysql_query("SELECT text FROM {$_GET['pagina']} WHERE id={$_GET['taalid']}");
  6. // while is nergens voor nodig als je maar een bericht selecteert (denk ik toch zo dat je maar één tekst hebt ?
  7. $fetch = mysql_fetch_assoc($query);
  8. ?>
  9.  
  10. <div align="center">
  11. <form name="formulier" action="" method="post">
  12. <script language="JavaScript1.2" type="text/javascript" src="javascript/ubbc.js"></script><br>
  13. <script language="JavaScript1.2" type="text/javascript" src="javascript/knoppen.js"></script><br>
  14. <script language="JavaScript1.2" type="text/javascript" src="javascript/smileys.js"></script><br><br>
  15. <textarea name="bericht" cols="50" rows="9" class="opmaak">
  16. <?=$fetch['text'];?>
  17. </textarea><br>
  18. <input name="adj" type="submit" value="pas aan">
  19. <?php
  20. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  21. // gebruik superglobals en dus niet $adj
  22. // nergens voor nodig om $bericht aan te maken
  23. // beter dat je includes bovenaan zet, staat netter
  24. // eerst $bericht = $_POST['bericht'];
  25. // daarna $tussen = $bericht :s ?
  26. // twee keer connect includen ??
  27. // waarom ubb includen als je het toch niet gebruikt ??
  28. $result2 = mysql_query("UPDATE {$_GET['pagina']} SET text = {$_GET['bericht']} WHERE id = {$_GET['taalid']}") or die ("Fout met de database"); // bij id hoef je geen ' ' te zetten want bij integers hoeft dat niet ;-)
  29. // misschien controleren of dat de variabelen niet leeg zijn ?
  30. }



@BigBug:

v voor variabele dat is toch onzin. Zodra er $ staat is het een variabele. Je bent toch dom als je een geheugensteuntje voor dat nodig hebt:

  1. <?php
  2. $bBoolean = true;
  3. $iInteger = 15; // ben 15 jaar
  4. $fFloat = 15.9; // ben 15 jaar en 9 maanden (denk ik :p)
  5. $sString = 'Ik ben 15 jaar en 9 maanden.';
  6. $aArray = array('leeftijd' => 15,
  7. 'exacte leeftijd' => 15.9,
  8. 'Naam' => 'Ibrahim'
  9. );
Offline Bart - 10/07/2006 14:40
Avatar van Bart PHP expert silicom14, waarom ga je dit script nu helemaal lopen verbeteren. Laat dimaz het zelf maar doen, ik heb em voor gedaan hoe het moest, hij moet het ook nog leren.
Offline Ibrahim - 10/07/2006 14:55
Avatar van Ibrahim PHP expert door hem dingen te laten leren is ie op dat 'script' hierboven gekomen. Als je hem de juiste manier laat zien, met comments zal hij het in het vervolg (hoop ik) onthouden
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.262s