ugrás a tartalomhoz

Egy formból kettő

NosnOsnoS · 2011. Júl. 24. (V), 12.39
Ezt elmagyarázni nehéz úgyhogy lerajzolom:

 
1

kép

NosnOsnoS · 2011. Júl. 24. (V), 12.40
2

Na akkor megpróbálom

bugadani · 2011. Júl. 24. (V), 13.32
Na akkor megpróbálom értelmezni a problémádat szövegesen is, kérlek szólj, ha nem egészen így gondoltad.

Van egy űrlapod, amit ha beküldenek, szeretnél feldolgoztatni és megjeleníteni olyan módon, hogy a k.php továbbítja az adatait a b.php és c.php fájloknak feldolgozásra, illetve megjelenítésre.
Személy szerint én nem továbbítgatnám sehova, hanem feldolgoznám és megjeleníteném helyben (k.php-ban, elvégre ennyiből nem látom indokoltnak a szétszabdalást), de egyébként semmi akadálya annak, hogy a b.php és c.php fájlokat egyszerű include paranccsal behívd és tartalmukat futtasd, ilyen módon "továbbítva nekik" az űrlapadatokat.

Kis megjegyzés: a form nem indul sehova :)
3

köszi!

NosnOsnoS · 2011. Júl. 24. (V), 13.48
köszi!
Énszerintem ez lesz a nyerő:
  1. <?php  
  2.   
  3. /* This example assumes that www.example.com is configured to parse .php 
  4. * files and not .txt files. Also, 'Works' here means that the variables 
  5. * $foo and $bar are available within the included file. */  
  6.   
  7. // Won't work; file.txt wasn't handled by www.example.com as PHP  
  8. include 'http://www.example.com/file.txt?foo=1&bar=2';  
  9.   
  10. // Won't work; looks for a file named 'file.php?foo=1&bar=2' on the  
  11. // local filesystem.  
  12. include 'file.php?foo=1&bar=2';  
  13.   
  14. // Works.  
  15. include 'http://www.example.com/file.php?foo=1&bar=2';  
  16.   
  17. $foo = 1;  
  18. $bar = 2;  
  19. include 'file.txt';  // Works.  
  20. include 'file.php';  // Works.  
  21.   
  22. ?>  

De az átalakításába 1 kis segítség kéne!
4

lehet, meghaladja a képzeletem/tudásom, de..

Peete · 2011. Júl. 24. (V), 16.32
Nem igazán értem, hol itt a probléma?

adott a form:
  1. <form method="post" action="k.php">  
  2. <label>Beérkező adat: <input type="text" name="szam" value="" /></label>  
  3. <input type="submit" value="Elküld" />  
  4. </form>  
Tfh: egy darab számot kérünk most be az űrlapon..

Majd a k.php-ban
  1. <?php  
  2. $szamvaltozo = $_POST['szam'];  
  3. include 'b.php';  
  4. include 'c.php';  
  5. ?>  
A két includeolt fájl meg mondjuk csinálja azt, hogy a b.php négyzetre emeli, a c.php pedig megjeleníti a számot..
A b.php
  1. <?php  
  2. $valtozo = $szamvaltozo*$szamvaltozo;  
  3. ?>  
A c.php
  1. <?php  
  2. echo $szamvaltozo;  
  3. ?>  
Mivel az include hatására a két fájl (b és c) a k.php részeként funkcionál, ezért a formról bekért adatokból deklarált változókra hivatkozhatsz bennük is..

(ha jól tudom..)

szerk: és persze bocs a szakbarbarizmusért, de gondoltam, a példa csak szemléltetés, természetesen le kéne feldolgozásnál ellenőrizni, hogy mit kaptunk: gettype($szamvaltozo) ha nem integer, akkor ne fusson le.. de ez csak a példában fontos..
5

Ellenőrzésre a gettype nem

bugadani · 2011. Júl. 24. (V), 16.35
Ellenőrzésre a gettype nem jó, mert a kliens felől minden stringként jön. Helyette is_numeric és társait kell használni.
8

amúgy igen, igazad van..

Peete · 2011. Júl. 24. (V), 17.14
bár ezt csak a példa teljessége miatt írtam hozzá; de persze, igazad van, a stringekben.. bocsi!
(max még az ugrott be így hirtelen, hogy settype($adat,"integer"); de ez "gányolósabb", mint az is_numeric)
6

nekem 2

NosnOsnoS · 2011. Júl. 24. (V), 17.05
nekem 2 formom van nem 1.
7

Igen? Az eredeti probléma

bugadani · 2011. Júl. 24. (V), 17.13
Igen? Az eredeti probléma egyről szólt, amit két php fájllal szeretnél feldolgoztatni. Erre kaptál is választ.
Legjobb tudomásom szerint két űrlap egyidejű elküldésére nincs lehetőség, de nyugodtan javítsatok ki, ha tévedek.
9

KÉT FORM?

Peete · 2011. Júl. 24. (V), 17.17
erről nem volt szó :s

Viszont: miért?
két "más" helyen van, akkor minek kell egyszerre?
de ha egyszerre akarod elküldeni, akkor miért nem csinálsz egyetlen formot?
11

ez így tová...

NosnOsnoS · 2011. Júl. 24. (V), 18.53
ez így továbbításként jó?
  1. <?php    
  2. $szamvaltozo = $_POST['szam'];    
  3. $nevvaltozo = $_POST['nev'];    
  4. include 'b.php';    
  5. include 'c.php';    
  6. ?>    
10

rosszul fogalmaztam

NosnOsnoS · 2011. Júl. 24. (V), 17.19
2 input mezőt!
12

Szerintem egyszerűbb lenne ha

Karvaly84 · 2011. Júl. 24. (V), 22.10
Szerintem egyszerűbb lenne ha konkrétan leírnád mit szeretnél elérni, kivitelezni, és nem a.php meg b.php-ről beszélni.
13

szóval!

NosnOsnoS · 2011. Júl. 24. (V), 22.19
1 email és egy jelszó input mezőt szeretnék továbbítani 2 helyre és csak az 1iket szeretném megtekinteni!
14

úgy igen!

Peete · 2011. Júl. 24. (V), 23.05
Szóval, ha két input mező van, akkor nem ügy:
  1. <form method="post" action="k.php">    
  2. <label>Email: <input type="text" name="email" value="" /></label>    
  3. <label>Jelszó: <input type="password" name="jelszo" value="" /></label> //fontos: a type paraméter text helyett password legyen; így 'csillagok'at látsz beíráskor..    
  4. <input type="submit" value="Elküld" />    
  5. </form>  
A k.php-ban pedig az általad is említett módon:
  1. <?php      
  2. $email = $_POST['email'];      
  3. $jelszo = $_POST['jelszo'];      
  4. include 'b.php';      
  5. include 'c.php';      
  6. ?>  
DE: továbbra is a teljesség igényével: a jelszót, ha eltárolod valahol, célszerű hash-elni; vagy sózni+hashelni, ennek utána tudsz nézni sok helyen..
Az emailcím mező beérkező adatát pedig célszerű leellenőrizni, hogy xyz##kukac##xy.xy formátumú adat jött-e be belőle..
15

köszönöm!

NosnOsnoS · 2011. Júl. 25. (H), 15.31
köszi!