Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] Form Action Get?

Pagina: 1
Acties:
  • 432 views

  • Pykow
  • Registratie: Augustus 2007
  • Laatst online: 28-11 18:52

Pykow

Angelo OTR

Topicstarter
Beste tweakers.
Op internet kom ik er niet echt mee uit en ik probeer zo snel mogelijk aan een antwoord te komen.

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
<?php
                
                
// Voorkom fouten en zorg dat $_POST['zoekkey'] minimaal 5 tekens lang is
if ($_GET['pmode'] == "SearchRlts") {
                
                       echo "<form name='data_form' action='globaal.php?pmode=SearchArti' method='post' ENCTYPE='multipart/form-data'>";
                               
                       $query = "Select * from rlts where rlts_naam like '%' + " . $_POST['zoekkey']. "'%' LIMIT 100";
                               fetchrow
                                               en vul NU de combobox met het resultaat
                                 
                                 echo "<div style='padding-left:140px; padding-top:15px; '><select name='zoekarti' style='font-size: 11; width: 350; border: 1px solid #000000;'>";
                               echo "<input type='submit' value='ZOEK ARTIKEL'>";
                                               

}                             
else {
                    echo "<form name='data_form' action='globaal.php?pmode=SearchRlts' method='post' ENCTYPE='multipart/form-data'>";
                    echo "<div style='padding-left:140px; padding-top:15px; '><select name='zoekkey' style='font-size: 11; width: 350; border: 1px solid #000000;'>";
                     echo "<input type='submit' value='ZOEK RELATIE'>";
                      echo "</div></div>";
}
                                                               
?>


Ik maak dus een Form aan die submit naar mijn eigen pagina met pmode SearchRLTS
Vervolgens moet die mijn Combobox vullen met RElaties (uit de query)
en overige velden tekenen.

maar dit moet zo werken toch ?
Voor me formulier (BEGIN)
PHP:
1
echo "<form name='data_form' action='globaal.php?pmode=SearchRlts' method='post' ENCTYPE='multipart/form-data'>";


en wanneer ik submit:
PHP:
1
if ($_GET['pmode'] == "SearchRlts") { echo $_post['zoeknaam'] }


Ik krijg nu de melding dat hij Pmode niet kent Undifined Index

Angelo NL / Global Cargo VTC


  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 27-10 15:31
Gebruik $_POST, als je post.
Sluit een form netjes af </form>
Gebruik een template systeem, inplaats van mix html en php
Gooi never nooit niet, zomaar een variable van de client rechstreeks in je database query

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


  • Stilgar
  • Registratie: Maart 2002
  • Niet online
Pykow schreef op vrijdag 04 maart 2011 @ 10:27:

PHP:
1
if ($_GET['pmode'] == "SearchRlts") {
De eerste keer dat de pagina wordt opgevraagd, bestaat $_GET['pmode'] nog niet, vandaar de 'undefined index'. Pas als je het formulier submit wordt deze key toegevoegd aan $_GET. Het moet dus iets worden als:

PHP:
1
if (isset($_GET['pmode']) && $_GET['pmode'] == "SearchRlts") {


En verder: gebruik inderdaad nooit zomaar een $_POST variable in een query; gebruik altijd mysql_real_escape_string($_POST['zoekkey']) of het equivalent daarvan voor jouw database.

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 26-11 20:53

Ventieldopje

I'm not your pal, mate!

Ohjee ohjee, ga eerst je code maar eens opruimen, html door php heen is een discussie over te voeren (ben er zelf geen voorstander van) maar php + html + SQL is absoluut not done. Bovendien kun je ipv. die GET parameter dit beter oplossen met een hidden veld dan kun je overal $_POST gebruiken en ook checken of je een $_POST binnen hebt (wat je zowieso moet doen)

PHP:
1
2
3
4
if(isset($_POST) && $_POST['action'] == "SearchRLTS")
{
     // leuke dingetjes doen
}

[ Voor 3% gewijzigd door Ventieldopje op 04-03-2011 10:55 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Pykow
  • Registratie: Augustus 2007
  • Laatst online: 28-11 18:52

Pykow

Angelo OTR

Topicstarter
PHP:
1
2
3
<?php 
if (isset($_GET['pmode']) && $_GET['pmode'] == "SearchRlts") { 
?>

Dit heeft geholpen om van die index error af te komen.

Wat er gewoon moet gebeuren is het volgenden.

GEbruiker Geeft een deel van een naam op.> Drukt op Zoek Relatie
Daarna moet die dus in Search RLTS komen en een Combobox maken met daarin de Results.
select * from relaties where relaties like %zoekkey% (snel gestypt)

Die waarde moet die plaatsen in een combobox en daar kom ik niet uit.

Angelo NL / Global Cargo VTC


  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 13:07
Als je klaar bent, moet je nog eens opzoek gaan bij 'ajax'. Dat is mooier voor dit geval.

Voor combobox: voorbeeld

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:15

Creepy

Tactical Espionage Splatterer

Pykow schreef op vrijdag 04 maart 2011 @ 11:11:
Die waarde moet die plaatsen in een combobox en daar kom ik niet uit.
En wat heb je dan precies al geprobeerd? Wat ging daarn dan mee mis? Kreeg je foutmelding? Gebeurde er "niks"? Toen je even bent gaan debuggen zag je wat? We need more input ;) Alleen aangeven wat je wil en wachten totdat wij het voor je gaan fixen is niet de bedoeling.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Pykow
  • Registratie: Augustus 2007
  • Laatst online: 28-11 18:52

Pykow

Angelo OTR

Topicstarter
haha nee dat snap ik creepy

ik heb mijn Post velue Echo op mijn scherm gezet om te kijken ofdeze niet leeg was.
Ik heb daarna gekeken naar isset die het probleem van index oploste.
Daarna ben ik gaan kijken waarom mijn box niet werdt ingevuld.
Connectie Controlle
Query Controlle
REsult True of False bekeken.

En daar kwam uit dat de Query "uitgevoerd werdt"Maar geen result, omdat de query geen data kon vinden.

Het is nu opgelost en me combobox wordt nu gevuld.
Dat Isset verhaal was ik even vergeten.

Bedankt Slotje

Angelo NL / Global Cargo VTC


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Bolukan schreef op vrijdag 04 maart 2011 @ 11:20:
Als je klaar bent, moet je nog eens opzoek gaan bij 'ajax'. Dat is mooier voor dit geval.

Voor combobox: voorbeeld
Ja, want iemand die het verschil tussen GET en POST niet weet wil je meteen naar AJAX toe schoppen...?
Met jouw geschiedenis hier zou je toch moeten weten dat we geen slotjes zetten omdat een probleem opgelost is maar omdat de topicstarter zich niet aan de regels houdt. Jij maakt een lading basale fouten die je met een simpele tutorial had kunnen oplossen: POST en GET worden in de eerste hoofdstukken van élk boek en elke tutorial behandeld. Daarnaast heb je domweg niet goed gedebugd, iets waar je ook al vaker op gewezen bent.

Ik zou nu nogmaals de quickstart uit ons beleid kunnen linken of het stukje "debugging" uit onze FAQ, maar aangezien dat de vorige keren geen effect had zal ik me die moeite besparen. Ik stel voor dat je ze zelf even opzoekt en doorleest alvorens je ooit nog een topic opent, want we zijn er niet om je aan het handje te houden.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.