login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoekwaarde in table opslaan

Offline markla - 10/03/2009 22:30
Avatar van marklaPHP interesse Voor de statestieken wil ik graag de zoekwaardes opslaan die men invult. Ik dacht aan zoiets maar bij aanvang bestaande Q niet dus krijg ik een melding Notice Undefind Index q

Wat doe/denk ik fout

  1. <form name='form' action='index.php?page=inc_search_result' method='POST' onSubmit='return preSubmitSearchForm( this );'>
  2. <input type='text' name='q' maxlength='50' size='12' onBlur='aaa'>
  3. <input type='submit' name='submit' value='zoeken' /><br>
  4. </form>";
  5.  
  6. $searchstring=$_POST['q'];
  7.  
  8. mysql_query($query_update="INSERT INTO af_stats_search (date, Searchstring, requested ) VALUES (now(), $searchstring ,1)
  9. ON DUPLICATE KEY UPDATE requested = requested +1");
  10.  
  11.  
  12. if($_SERVER['REQUEST_METHOD'] == 'POST')
  13.  
  14. {
  15. $_SESSION['zoek'] = $_POST['q'];
  16. }
  17. ?>

4 antwoorden

Gesponsorde links
Offline Wim - 10/03/2009 22:32 (laatste wijziging 10/03/2009 22:33)
Avatar van Wim Crew algemeen Eventueel kan je deze onderdrukken door er een @ teken voor te plaatsen.

Een nettere manier is echter om dit te controleren dmv PHP.net: isset, een notice komt dan niet meer

//edit:
Plaats aub quotes (') rond de waardes die je insert! Ook gebruik je best even PHP.net: mysql_real_escape_string voor de beveiliging!
Offline maigel - 10/03/2009 22:34 (laatste wijziging 10/03/2009 22:36)
Avatar van maigel PHP beginner als de form nog niet gesubmit is is q ook nog niet gedefined
daarom zal je na je form iets moeten zetten als
  1. if(isset($_POST['submit']))
  2. {
  3.  
  4. //hier je mysql code en andere verwerking van je form
  5.  
  6. }


edit:
wimmarien was me voor 
Offline markla - 10/03/2009 22:55
Avatar van markla PHP interesse Oke

Ik heb nu onderstaande code maar hij slaat niks in de tabel op, in de session overigens wel.

@wimmarien
In het search resultscript heb ik van alles gedaan om te beveilingen , zoals mysql_real_escape_string.

  1. if(isset($_POST['submit']))
  2. {
  3. $af_stats_search_string = $_POST['q'];
  4.  
  5. mysql_query($query_update="
  6. INSERT INTO
  7. af_stats_search
  8. (
  9. af_stats_search_date ,
  10. af_stats_search_string,
  11. af_stats_search_requested
  12. )
  13. VALUES
  14. (now(),
  15. ".$searchstring.",
  16. 1)
  17. ON DUPLICATE KEY UPDATE requested = requested +1");
  18. $_SESSION['zoek'] = $_POST['q'];
  19. }
Offline Wim - 12/03/2009 11:30
Avatar van Wim Crew algemeen eerst heet je veld "af_stats_search_requested" en nadien "requested"; zeker dat deze beide bestaan?

Zet anders even "or die(mysql_error())" achter je query.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s