login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Form, doet raar!

Offline Chupskie - 06/07/2006 09:15
Avatar van ChupskieMySQL beginner Hallo allemaal,

Ik zit met het volgende probleem. In de onderstaande form, krijg ik als ik op submit duw, perfect de resultaten te zien. Maar als ik in het input veld al op enter durk (ipv van gewoon op de submit button) dan, stuurt hij ons naar een lege pagina. Terwijl, als ik gewoon op de echt submit duw, dat hij het wel doet?!?

  1. <input type='text' size=15 name='zoekveld' value='Zoek op trefwoord' onFocus="if(this.value == 'Zoek op trefwoord'){this.value='';}"
  2. onBlur="if(this.value == ''){this.value='Zoek op trefwoord';}"> <input type="submit" name="zoeken" value="Zoeken">


  1. <?php
  2. if(isset($_POST['zoeken']) && $_POST['zoeken'] != '') {
  3. // daar heb ik nu ook voor de test, dit van gemaakt:
  4. if(isset($_POST['zoeken']) && $_POST['zoeken'] != '' && !$_POST['zoekveld']) {
  5. ?>


Iemand een idee? Wat er mis gaat?:|
-Chupskie

7 antwoorden

Gesponsorde links
Offline Tuinstoel - 06/07/2006 09:28
Avatar van Tuinstoel PHP expert Het zou kunnen komen doordat je alleen controleert of hij op de knop drukt, dus alleen op $_POST['zoeken']. Je zou hiervan bijvoorbeeld if($_SERVER['REQUEST_METHOD'] == 'POST') van kunnen maken.
Offline BigBug - 06/07/2006 09:29
Avatar van BigBug PHP expert In je <form> tag: action=""

En ipv:
  1. <?php
  2. if(isset($_POST['crap']))
  3. ?>


  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. }
  5. ?>
Offline Chupskie - 06/07/2006 09:41 (laatste wijziging 06/07/2006 10:16)
Avatar van Chupskie MySQL beginner Ja, dit was de oplossing ja:
$_SERVER['REQUEST_METHOD'] == 'POST')

Simpel maar wel effectief 
Harstikke bedankt ^^

-Chupskie

edit: ik had eigenlijk nog een vraagje. Ik wil dat als er wordt gezocht, dat dat er alleen in bepaalde catagorieen gezocht mag worden.

Nou heb ik dit:
  1. <?php
  2. $query="SELECT * FROM `tbl artikel`
  3. WHERE artArtsId='1' AND artOmsComm LIKE '%$zoekveld%'
  4. OR artArtsgId = '26' OR artArtsgId = '128' OR artArtsgId = '167' OR artArtsgId = '136' OR artArtsgId = '3'
  5. OR artArtsgId = '145' OR artArtsgId = '157' OR artArtsgId = '175' ";
  6. ?>


Maar dit levert, op dat ik ALLE resultaten te zien krijg, van die catagorieen.En niet alleen van het zoekwoord, dat is ingetypt.
En als ik "artArtsgId " weg haal, dan zoekt hij wel goed, maar dan in alle catagorien, en dat wil ik dus niet. Ik wil dus dat hij zoekt in niet alle catagorieen!

Iemand hier ook een oplossing voor?
-CHupskie
Offline Dark_Paul - 06/07/2006 10:38
Avatar van Dark_Paul PHP ver gevorderde ik denk dat je probleem zit in 'SELECT *' bedoel je niet SELECT categorie,nog een categorie FROM `tabel`?
Offline Chupskie - 06/07/2006 10:43 (laatste wijziging 06/07/2006 10:44)
Avatar van Chupskie MySQL beginner Weet je wat het is, de catagorie namen, zitten in een andere tabel. dus vandaar dat ik alleen de id's aan wil roepen.

  1. <?php
  2. $query="SELECT * FROM `tbl artikel`
  3. WHERE voorraad='1' AND artOmsComm LIKE '%$zoekveld%'
  4. OR catagorie = '126' OR catagorie = '128' OR catagorie = '167'
  5. OR catagorie = '136' OR catagorie = '321' OR catagorie = '145'
  6. ";
  7. ?>


Ik hoop dat het zo wat duidelijker is!

Hij moet dus kijken of hij op voorraard is, als het 1 is, is het op voorraad, en mag hij het dus laten zien.
Daarna kijkt hij in welke catagorie hij mag zoeken.
En daarna kijkt hij of het woord wat gezocht wordt, op voorraad is en in de toegestaande catagorieen zit.

Snap ie? Maar dat wil dus nog niet helemaal werken?

edit: code tags vergeten
Offline Tuinstoel - 06/07/2006 11:28 (laatste wijziging 06/07/2006 11:29)
Avatar van Tuinstoel PHP expert Misschien van IN() gehoord? Hiermee kun je ID's uit een array halen en dan als een gemakkelijkere query uitvoeren, bijvoorbeeld met behulp van implode().

  1. SELECT * FROM tbl_artikelen WHERE voorraad = 1 AND artOmsComm LIKE '%".$zoekveld."%' AND categorie IN(126,128,167)


Edit:
Trouwens ik zie dat jij `tbl artikelen` gebruikt. Mag je spaties gebruiken in tabelnamen? Ik zit me dat eigenlijk zo af te vragen.
Offline Chupskie - 06/07/2006 14:28
Avatar van Chupskie MySQL beginner ja, het zit gekoppeld en het programma OFB, en die maken van deze tabellen gebruik. SELECT * FROM `tbl artikelen` WHERE enz..
op die manier dus... werkt zonder problem 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.265s