abonnement Unibet Coolblue Bitvavo
pi_28146228
zoiets?

1
2
3
<?php
$query
= "UPDATE table SET veld = '".$value."' WHERE dag = 'zaterdag'";
?>


Er bestaat trouwens ook altijd nog zoiets als een online handleiding die sneller is dan dit topic .....
Update
Handleiding

[ Bericht 11% gewijzigd door ikke_ook op 22-06-2005 22:09:59 ]
  donderdag 23 juni 2005 @ 12:44:18 #182
42636 TheSeeker_NL
Damn fine coffee
pi_28159509
Jo!

Situatie:

news_new.php (hier kan een nieuw bericht worden opgesteld)
news.php (hier is het php gedeelte voor het invoeren van het bericht in de database)

mijn probleem is dat het bericht niet wordt ingevoerd in de database en ik weet niet waar het fout gaat.

news_new.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
<form action="news.php" method="post">
<input type="submit" name="action" value="insert">
  
  <table width="65%" border="0" cellspacing="0">
  <tr> 
    <td><p>Berichttitel</p></td>
    <td><input type="text" name="news_header" size="50" maxlength="30"></td>
  </tr>
  <tr> 
    <td><p>Datum/tijd</p></td>
    <td><input type="text" name="news_datetime" value="<? echo date("Y-m-d H:i:s") ?>" size="19" maxlength="19"></td>
  </tr>
  <tr> 
    <td height="71"><p>Berichttekst</p></td>
    <td><textarea name="news_main" cols="50"></textarea></td>
    </td>
  </tr>
  <tr> 
      <td colspan="2"> 
        <input name="submit" type=submit value=Toevoegen>
      </td>
  </tr>
</table>
</form>


news.php

1
2
3
4
5
6
7
8
9
10
   // toevoegen van een nieuw nieuwsbericht 
  if ($action == "insert") {
  $news_main = nl2br($news_main);
  $news_main = eregi_replace("\n", "", $news_main);
  $news_SQL_insert = "INSERT INTO news (news_header, news_datetime, news_main) VALUES
  ('$news_header', '$news_datetime', '$news_main')";
  $bool = mysql_query($news_SQL_insert);
  if (bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het bericht is toegevoegd')</SCRIPT>";
  if (bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het bericht is niet toegevoegd')</SCRIPT>";
  }


volgensmij gebeurd de action = insert niet, want ik krijg geen window alert én er wordt ook niks toegevoegd in de database. Iemand die me uit de brand kan helpen?
pi_28159624
register_globals?
pi_28159648
In news.php mag op regel 8 en 9 een $ voor bool
  donderdag 23 juni 2005 @ 12:54:52 #185
42636 TheSeeker_NL
Damn fine coffee
pi_28159805
quote:
Op donderdag 23 juni 2005 12:49 schreef Light het volgende:
In news.php mag op regel 8 en 9 een $ voor bool
scherp! maar helaas is dit niet de bottleneck
pi_28160100
Plaats eens bovenaan de pagina
print'<pre>';
print_r($_POST);
print'</pre>';

Zo kan je in iedergeval controleren wat er binnenkomt.
Ik zie ook nergens dat je de post waarders controleert en in de variable $news_datetime zet

Ik doe dat altijd als volgende
<?
foreach($_POST as $post => $value)
{
$POST[$post] = htmlspecialchars(addslashes($value));
}

Jouw query ziet er dan als volgt uit
$news_SQL_insert = "INSERT INTO news (news_header, news_datetime, news_main) VALUES
('$POST[news_header]', '$POST[news_datetime]', '$POST[news_main]')";
  donderdag 23 juni 2005 @ 13:09:24 #187
42636 TheSeeker_NL
Damn fine coffee
pi_28160252
quote:
Op donderdag 23 juni 2005 13:04 schreef Darkomen het volgende:
Plaats eens bovenaan de pagina
print'<pre>';
print_r($_POST);
print'</pre>';

Zo kan je in iedergeval controleren wat er binnenkomt.
Ik zie ook nergens dat je de post waarders controleert en in de variable $news_datetime zet

Ik doe dat altijd als volgende
<?
foreach($_POST as $post => $value)
{
$POST[$post] = htmlspecialchars(addslashes($value));
}

Jouw query ziet er dan als volgt uit
$news_SQL_insert = "INSERT INTO news (news_header, news_datetime, news_main) VALUES
('$POST[news_header]', '$POST[news_datetime]', '$POST[news_main]')";
ik denk dat het probleem hem zit in het versturen van de gegevens van news_new.php naar news.php, hij kan niks toevoegen omdat de action insert niet werkt....

ik denk dat de fout op news_new.php zit.

ik heb die query wel veranderd, maar hij doet niets meer of minder op het moment....
pi_28160700
en als je $_GET[action] gebruikt?
pi_28160774
Je weet trouwens dat de value en name van een submit button niet altijd meegestuurd wordt he. gebruik voor zulke dingen immer een input type='hidden".

-r-
pi_28160805
quote:
Op donderdag 23 juni 2005 13:24 schreef Roönaän het volgende:
Je weet trouwens dat de value en name van een submit button niet altijd meegestuurd wordt he. gebruik voor zulke dingen immer een input type='hidden".

-r-
daar zeg je idd wat!
of <form action="news.php?action=insert" method="post">
  donderdag 23 juni 2005 @ 21:56:29 #191
42636 TheSeeker_NL
Damn fine coffee
pi_28175718
quote:
Op donderdag 23 juni 2005 13:24 schreef Roönaän het volgende:
Je weet trouwens dat de value en name van een submit button niet altijd meegestuurd wordt he. gebruik voor zulke dingen immer een input type='hidden".

-r-
erm mijn boek zegt ook dat ik deze regel moet gebruiken
1<input type="hidden" name="action" value="insert">


maar als ik hidden gebruik dan is er geen knop om op te drukken ik zal je wel verkeerd begrijpen... misschien kan je het duidelijker uitleggen (newbie proof )
pi_28176906
quote:
Op donderdag 23 juni 2005 21:56 schreef TheSeeker_NL het volgende:

[..]

erm mijn boek zegt ook dat ik deze regel moet gebruiken
[ code verwijderd ]

maar als ik hidden gebruik dan is er geen knop om op te drukken ik zal je wel verkeerd begrijpen... misschien kan je het duidelijker uitleggen (newbie proof )
Dat werkt alleen als je maar 1 submit knop hebt. Als je meerdere submit knoppen hebt, dan zal je toch gebruik moeten maken van de name/value van de knop waarop geklikt wordt. Het lastige is dat de value van een submit knop de tekst op de knop is, en die tekst kan bijvoorbeeld van de taal afhankelijk zijn.
Dat kan je op verschillende manieren oplossen
  • elke submit button een unieke name geven. In de postback controleer je of een van deze names geset is (zoals op fok)
  • de submit buttons onclick een hidden field laten vullen (zoals op GoT)
  • de submit buttons een name als "action[save]" te geven. In de postback lees je dan de key van de $_POST['action'] array (zoal ik het meestal doe)
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      vrijdag 24 juni 2005 @ 11:24:56 #193
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28187930
    quote:
    Op donderdag 23 juni 2005 22:30 schreef SuperRembo het volgende:

    [..]

    Dat werkt alleen als je maar 1 submit knop hebt. Als je meerdere submit knoppen hebt, dan zal je toch gebruik moeten maken van de name/value van de knop waarop geklikt wordt. Het lastige is dat de value van een submit knop de tekst op de knop is, en die tekst kan bijvoorbeeld van de taal afhankelijk zijn.
    Dat kan je op verschillende manieren oplossen
  • elke submit button een unieke name geven. In de postback controleer je of een van deze names geset is (zoals op fok)
  • de submit buttons onclick een hidden field laten vullen (zoals op GoT)
  • de submit buttons een name als "action[save]" te geven. In de postback lees je dan de key van de $_POST['action'] array (zoal ik het meestal doe)
  • ik hoef maar 1 submit knop! ik wil een titel in kunnen voeren, ik wil een berichtje in kunnen voeren, dan op een knop drukken, en dan moet hij GVD verzonden worden, maar hij wilt maar niet (beetje gefrustreerd van deze poep)

    ik ben 't zat!

    (maar bedankt voor je hulp )
    pi_28188286
    @TheSeeker_NL

    Een beetje basis is nooit weg.

    1
    2
    3
    4
    5
    6
    <form action="pagina.php" method="post">
      <input type="hidden" name="verstuurd" value="true" />
      <input type="text" name="titel" /><br />
      <textarea name="bericht"></textarea><br />
      <input type="submit" value="Opslaan" />
    </form>


    Oftewel, een FORM met een gedefinieerde ACTION en METHOD (allebei altijd opgeven). Als je wilt controleren of een formulier is verzonden, doe dit dan met een hidden INPUT (deze krijg je dus niet te zien op je pagina). De value van de INPUT met type="submit" dient als tekstuele waarde voor de knop die je op de pagina te zien krijgt. Niet alle browsers sturen de waarde van de submit-knop mee, dus het is ook niet nodig om je submit-knop een naam te geven. Voor de volledigheid nog even pagina.php:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $verstuurd
    = $_POST['verstuurd'];

    if (
    $verstuurd == 'true') {
        
    $titel = $_POST['titel'];
        
    $bericht = $_POST['bericht'];
        
    mysql_query('INSERT INTO `tabel` (`titel`, `bericht`) VALUES (\'' . mysql_real_escape_string($titel) . '\', \'' . mysql_real_escape_string($bericht) . '\')');
    }
    ?>


    Hopelijk heb je er iets aan.

    [ Bericht 2% gewijzigd door JeRa op 24-06-2005 11:40:34 (title ipv titel) ]
    pi_28188446
    moet je wel $_POST['verstuurd'] of $_REQUEST['verstuurd'] gebruiken als je een post form hebt .
    pi_28188507
    quote:
    Op vrijdag 24 juni 2005 11:39 schreef Roönaän het volgende:
    moet je wel $_POST['verstuurd'] of $_REQUEST['verstuurd'] gebruiken als je een post form hebt .
    Wat? Waar?

    overigens krijg ik van $_REQUEST een vieze smaak in m'n mond *denkt terug aan ASP-tijd* ik ben van mening dat je precies moet weten waar je variabelen vandaan komen
    pi_28188618
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <form action="news.php?action=insert" method="post">
      <table width="65%" border="0" cellspacing="0">
      <tr> 
        <td><p>Berichttitel</p></td>
        <td><input type="text" name="news_header" size="50" maxlength="30"></td>
      </tr>
      <tr> 
        <td><p>Datum/tijd</p></td>
        <td><input type="text" name="news_datetime" value="<? echo date("Y-m-d H:i:s") ?>"
     size="19" maxlength="19"></td>
      </tr>
      <tr> 
        <td height="71"><p>Berichttekst</p></td>
        <td><textarea name="news_main" cols="50"></textarea></td>
        </td>
      </tr>
      <tr> 
          <td colspan="2"> 
            <input name="submit" type=submit value=Toevoegen>
          </td>
      </tr>
    </table>
    </form>

    en
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // toevoegen van een nieuw nieuwsbericht 
    if ($_GET['action'] == 'insert' && Isset($_POST['submit'])) {
       $news_main = nl2br($_POST['news_main']);
       $news_main = eregi_replace("\n", "", $news_main);
       $news_SQL_insert = "INSERT INTO news (news_header, news_datetime, news_main) 
    VALUES ('".$_POST['news_header']."', '".$_POST['news_datetime']."', '".$news_main."')";
       $bool = mysql_query($news_SQL_insert);
       if ($bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het bericht is 
    toegevoegd')</SCRIPT>";
       if ($bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het bericht is niet 
    toegevoegd')</SCRIPT>";
    }


    Zo dan?
    pi_28188749
    quote:
    Op vrijdag 24 juni 2005 11:40 schreef JeRa het volgende:

    [..]

    Wat? Waar?

    overigens krijg ik van $_REQUEST een vieze smaak in m'n mond *denkt terug aan ASP-tijd* ik ben van mening dat je precies moet weten waar je variabelen vandaan komen
    daarvoor heb je if($_SERVER['REQUEST_METHOD'] == 'POST')....
    pi_28188856
    quote:
    Op vrijdag 24 juni 2005 11:47 schreef Roönaän het volgende:

    [..]

    daarvoor heb je if($_SERVER['REQUEST_METHOD'] == 'POST')....
    Beetje omslachtig. Wat nou als je pagina.php?var=true aanroept met ook een POST-field met 'var'='true', wordt het dan niet nogal triviaal?
      vrijdag 24 juni 2005 @ 11:55:18 #200
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28189074
    quote:
    Op vrijdag 24 juni 2005 11:43 schreef ikke_ook het volgende:

    [ code verwijderd ]

    en
    [ code verwijderd ]

    Zo dan?
    omfg, het werk!

    Ik moet maar eens goed bestuderen hoe het komt dat het nu wel werkt, maar ik wil jullie eerst even bedanken, want volgensmij moet het reten vervelend zijn om zo'n noob als mij te proberen helpen. Anyways, ik ga nu de functie bewerken erin proberen te bouwen... wish me luck

    [ Bericht 16% gewijzigd door TheSeeker_NL op 24-06-2005 12:57:19 ]
    pi_28192264
    Ja hoor, ben ik weer met wat replace zooi (snap er nog steeds geen donder van)

    Mijn WYSIWYG editor produceert de odnerstaande codes voor images (volgens mij heb ik ze allemaal)
    Maar het lukt me niet om ze allemaal te vervangen, de eerste is het grootste probleem, de code die ik had geschreven zorgt ervoor dat ik helemaal geen uitput heb
    Wie helpt me voordat ik een moord bega met dit weer!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <IMG height=485 src="http://images.peugeotheaven.com/64.jpg" width=560 align=baseline>
    <IMG height=105 src="http://thumbnails.peugeotheaven.com/64.jpg" width=138>
    <IMG src="http://thumbnails.peugeotheaven.com/64.jpg" align=left>
    <IMG src="http://thumbnails.peugeotheaven.com/64.jpg">

    Mijn probeersels:
    $html2bbtxt = preg_replace('#<IMG[^>]+?height=(.*?)[^>]+?src="http://(.*?)"[^>]+?width=(.*?)[^>]+?align=.*?)>#i',  '[img /1:/3:/4]http://\2[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG[^>]+?height=(.*?)[^>]+?src="http://(.*?)"[^>]+?width=(.*?)>#i',  '[img /1:/3:/4]http://\2[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG[^>]+?src="http://(.*?)" align=(.*?)>#i',  '[img align=\2]http://\1[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG[^>]+?src="(.*?)" align=(.*?)>#i',  '[img align=\2]\1[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG[^>]+?src="http://(.*?)">#i',  '[img]http://\1[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG[^>]+?src="(.*?)">#i',  '[img]\1[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG(.*?)>#i',  '[img]http://\1[/img]',$html2bbtxt);
       $html2bbtxt = preg_replace('#<IMG src="http://(.*?)" align=(.*?)>#i',  '[img align=\2]http://\1[/img]',$html2bbtxt);
      vrijdag 24 juni 2005 @ 15:45:15 #202
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28196742
    Sorry Darkomen maar jou kan ik niet helpen

    zelf heb ik een vraagje.

    Ik ben bezig met het maken van een wijzigen functie voor mijn nieuwsberichten.
    Na het klikken op wijzigen wordt het betreffende bericht netjes geladen in de textbox maar na het wijzigen hiervan wilt hij het nog niet veranderen.

    news_edit.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
    <? 
    $db = mysql_connect("localhost", "", "") or 
    die ("Verbinding is gay");
    mysql_select_db("borner", $db);
    $news_ID = -1;
    if(isset($_REQUEST['news_ID'])) 
      $news_ID = intval($_REQUEST['news_ID']);
    $news_SQL = "SELECT * FROM news WHERE news_ID=".$news_ID;
    $news_result = mysql_query($news_SQL);
    $news = mysql_fetch_array($news_result);
    mysql_close();
    $news['news_main'] = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "\n", $news['news_main']);
    ?>
    <form action="news.php"  method="post">
      <table width="65%" border="0" cellspacing="0">
      <tr> 
        <td><p>Berichttitel</p></td>
        <td><input type="text" name="news_header" value="<? echo $news['news_header'] ?>" size="50" maxlength="30"></td>
      </tr>
      <tr> 
        <td><p>Datum/tijd</p></td>
        <td><input type="text" name="news_datetime" value="<? echo $news['news_datetime']?>"
     size="19" maxlength="19"></td>
      </tr>
      <tr> 
        <td height="71"><p>Berichttekst</p></td>
        <td><textarea name="news_main" rows="6" cols="50"><? echo $news['news_main']?>"</textarea></td>
        </td>
      </tr>
      <tr> 
          <td colspan="2"> 
            <input type="hidden" name="news_ID" value="<? echo $news['news_ID']?>">   
            <input type="hidden" name="action" value="update">
          <input type="submit" name="submit"  value=Ok>
          </td>
      </tr>
    </table>
    </form>
    </body>


    en de pagina met de php news.php

    1
    2
    3
    4
    5
    6
    7
    // bewerken van een bericht
    if ($action =="update") {
    $news_main = nl2br($news_main);
    $news_main = eregi_replace("\n", "", $news_main);
    $news_SQL_update = "UPDATE news SET news_header='$news_header', news_main='$news_main',
    news_datetime='$news_datetime' WHERE news_ID='news_ID'";


    iemand enig idee wat ik fout doe?

    [ Bericht 12% gewijzigd door TheSeeker_NL op 24-06-2005 15:54:04 ]
    pi_28196912
    Waar is je mysql_query?
      vrijdag 24 juni 2005 @ 15:55:50 #204
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28197088
    quote:
    Op vrijdag 24 juni 2005 15:50 schreef JeRa het volgende:
    Waar is je mysql_query?
    van news_edit.php? die heb ik er even bijge edit.
    pi_28197278
    quote:
    Op vrijdag 24 juni 2005 15:55 schreef TheSeeker_NL het volgende:

    [..]

    van news_edit.php? die heb ik er even bijge edit.
    Nee, die van news.php. Voor zover ik kan zien wordt de UPDATE-query nooit uitgevoerd.
      vrijdag 24 juni 2005 @ 16:07:11 #206
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28197416
    quote:
    Op vrijdag 24 juni 2005 16:02 schreef JeRa het volgende:

    [..]

    Nee, die van news.php. Voor zover ik kan zien wordt de UPDATE-query nooit uitgevoerd.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
      $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay");
      mysql_select_db("borner", $db);
    // bewerken van een bericht
    if ($action =="update") {
    $news_main = nl2br($news_main);
    $news_main = eregi_replace("\n", "", $news_main);
    $news_SQL_update = "UPDATE news SET news_header='$news_header', news_main='$news_main',
    news_datetime='$news_datetime' WHERE news_ID='news_ID'";


    volgens het boek is dit het enige wat ik neer moest zetten in news.php ben ik dan iets vergeten ?
    pi_28197474
    quote:
    Op vrijdag 24 juni 2005 16:07 schreef TheSeeker_NL het volgende:

    [..]
    [ code verwijderd ]

    volgens het boek is dit het enige wat ik neer moest zetten in news.php ben ik dan iets vergeten ?
    Je moet begrijpen wat je doet. Je hebt een HTML-formulier, wat verzonden wordt naar de webserver waar je PHP-pagina staat. In je PHP-code maak je een query aan, en die sla je op in de variabele $News_SQL_update. Echter moet je natuurlijk wel mysql_query($News_SQL_update) uitvoeren nadat je dit gedaan hebt, anders wordt er natuurlijk niets uitgevoerd
      vrijdag 24 juni 2005 @ 16:22:35 #208
    42636 TheSeeker_NL
    Damn fine coffee
    pi_28197896
    quote:
    Op vrijdag 24 juni 2005 16:09 schreef JeRa het volgende:

    [..]

    Je moet begrijpen wat je doet. Je hebt een HTML-formulier, wat verzonden wordt naar de webserver waar je PHP-pagina staat. In je PHP-code maak je een query aan, en die sla je op in de variabele $News_SQL_update. Echter moet je natuurlijk wel mysql_query($News_SQL_update) uitvoeren nadat je dit gedaan hebt, anders wordt er natuurlijk niets uitgevoerd
    Je hebt gelijk als je zegt dat ik niet begrijp wat ik doe .Het boek wat ik gebruik is ook niet echt een aanrader denk ik, maar ik moet dit nu gewoon even af ronden, dan kan ik daarna een nieuw boek halen en opnieuw stapje voor stapje aanpakken.

    Dit is alleen het enige nog wat ik werkende moet krijgen en dan is het boek uit

    Ik heb een html formulier (van news_edit.php) die wordt verzonden naar news.php. Daar maak ik een PHP query aan die het formulier opslaat in nieuwe variabelen. Deze overschrijven de oude variabelen.

    $news_SQL_update = "UPDATE news SET news_header='$news_header', news_main='$news_main',
    news_datetime='$news_datetime' WHERE news_ID='news_ID'"

    Deze query staat voor het updaten toch uit van variabelen? moet ik dan gewoon mysql_query($News_SQL_update) er onder zetten om de query uit te voeren? snap ik het zo beter?
    pi_28198045
    Juist. Je bouwt eerst de query op, en daarna moet je nog daadwerkelijk de query uitvoeren:

    $news_SQL_update = "...etc";
    mysql_query($news_SQL_update);
    pi_28202090
    quote:
    Op vrijdag 24 juni 2005 11:50 schreef JeRa het volgende:

    [..]

    Beetje omslachtig. Wat nou als je pagina.php?var=true aanroept met ook een POST-field met 'var'='true', wordt het dan niet nogal triviaal?
    Een hidden input element gebruiken om te controleren of het form gepost is, DAT is pas omslachtig.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')