PHP-Script.hu
Kiemelt hirdetés:
2026. október 17. 14:28 szombat, ma Hedvig névnap van


grafika


Videóbázis


Listázás:  Idő szerint:
Webprogramozás arr PHP info dátum kiírás űrlaphoz
(#10) Geeb válasza erre: (#8) user23 2014.06.17. 09:28

Geeb
Geeb
Kezdő

1
<input type="hidden" name="id" value="'.$row['id'].'">


Helyett:
1
<input type="hidden" name="id" value="<?'.$row['id'].?>'">


Csak a kódodban ezeket próbáld javítani akkor mit mutat:

1
<?'.$row['id'].?>



Eredeti amit találtál:
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
<?php
    include_once('db.php');
 
    if( isset($_GET['edit']) )
    {
        $id = $_GET['edit'];
        $res= mysql_query("SELECT * FROM proba WHERE id='$id'");
        $row= mysql_fetch_array($res);
    }
 
    if( isset($_POST['newName']) )
    {
        $newName = $_POST['newName'];
        $id      = $_POST['id'];
        $sql     = "UPDATE proba SET name='$newName' WHERE id='$id'";
        $res     = mysql_query($sql) 
                                    or die("Could not update".mysql_error());
        echo "<meta http-equiv='refresh' content='0;url=index.php'>";
    }
 
?>
<form action="edit.php" method="POST">
Name: <input type="text" name="newName" value="<?php echo $row[1]; ?>"><br />
<input type="hidden" name="id" value="<?php echo $row[0]; ?>">
<input type="submit" value="Szerkesztés"/>
</form>
 
 


Ez pedig, amit nekünk mutattál hogy csináltad:

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
include_once('db.php');
 
if( isset($_GET['edit']) )
    {
        $id = $_GET['edit'];
        $res= mysql_query("SELECT * FROM proba WHERE id='$id'");
        $row= mysql_fetch_array($res);
            
    }
 
    if( isset($_POST['id']) )
    {
 
       ".$row['nev']."
       ".$row['gyumolcs']."
       ".$row['zoldseg']."
 
        $sql = "UPDATE tippmix SET Nev='$nev', Gyumolcs='$gyumolcs', zoldseg='$zoldseg' WHERE id='$id'";
        $res = mysql_query($sql) or die("Could not update".mysql_error());
        echo "<meta http-equiv='refresh' content='0;url=index.php'>";
    }
 
 
    
echo '<form action="edit.php" method="POST">
Neve: <input type="text" name="nev" value="<?'.$row['nev'].'?>">
Mit szeret gyümölcs: <input type="text" name="gyumolcs" value="<?'.$row['gyumolcs'].'?>">
Mit szeret zöldség: <input type="text" name="zoldseg" value="<?'.$row['zoldseg'].'?>">
 
<br />
<input type="hidden" name="id" value="'<?'.$row['id'].'?>">
<br />
<input type="submit" value=" Szerkesztés "/>
</form>';


Utoljára szerkesztette: Geeb 2014.06.17. 09:30
(#9) anti válasza erre: (#8) user23 2014.06.16. 23:09

anti
anti
Kezdő

Szia!

Részemről ennyi fért bele, de azt gondolom, hogy ez a feladat menni fog neked is, ha végigjutsz egy alap PHP könyv elolvasásán.

(#8) user23 válasza erre: (#7) anti 2014.06.16. 20:36

user23
user23
Kezdő

Szia!

Köszönöm a választ. Szóval elrontettam. :/

Ez az eredeti, amit találtam:

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
<?php
    include_once('db.php');
 
    if( isset($_GET['edit']) )
    {
        $id = $_GET['edit'];
        $res= mysql_query("SELECT * FROM proba WHERE id='$id'");
        $row= mysql_fetch_array($res);
    }
 
    if( isset($_POST['newName']) )
    {
        $newName = $_POST['newName'];
        $id      = $_POST['id'];
        $sql     = "UPDATE proba SET name='$newName' WHERE id='$id'";
        $res     = mysql_query($sql) 
                                    or die("Could not update".mysql_error());
        echo "<meta http-equiv='refresh' content='0;url=index.php'>";
    }
 
?>
<form action="edit.php" method="POST">
Name: <input type="text" name="newName" value="<?php echo $row[1]; ?>"><br />
<input type="hidden" name="id" value="<?php echo $row[0]; ?>">
<input type="submit" value="Szerkesztés"/>
</form>


Ezt próbáltam átalakítani, hogy nekem megfelelő legyen.
Ebben a szerkesztés gomb lenymása után csak 1 mező van amit lehet "javítani".

Nekem három mezőm lenne, amit szeretnék.

név
gyümölcs
zöldség

Még tudnál egy kicsit ebben segíteni ?
Köszönöm.

(#7) anti válasza erre: (#5) user23 2014.06.16. 19:05

anti
anti
Kezdő

Szia!

Geeb jól mondja, az üzenet arra figyelmeztet, hogy a változó a kiírás előtt nem kapott még értéket.
Ha jól következtetek, akkor a $_GET['edit'] nem kap értéket.
Ahhoz, hogy kapjon valami ilyesmi URL-en kéne betölteni az oldalt: /akarmi?edit=1
Ahol az edit utáni szám a szerkesztendő rekordot jelöli.

15-17-ig tartó sorokat látom csupán értelmetlennek.
Egyúttal hiányoznak a POST után történő változó feltöltések ahhoz, hogy a 19. sorban összeállított SQL kifejezés működőképes legyen.

Másik, hogy ha működőképesre sikerül összehozni, akkor az SQL update után ajánlott a $row-ba visszatölteni a friss változtatást, különben úgy fog kinézni az oldal post után, mintha semmi nem változott volna.


(#6) Geeb válasza erre: (#5) user23 2014.06.16. 17:34

Geeb
Geeb
Kezdő

Nincs definiálva.

(#5) user23 válasza erre: (#4) anti 2014.06.16. 13:32

user23
user23
Kezdő

Szia!

Köszi szépen, megsikerült oldanom. :)

De lenne egy újabb kérdésem, csináltam 1 edit.php -t, hogy ha véletlen rossz adatot viszek be, akkor ne keljen az adatbázisba felmenni.

Itt a kód:

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
 
include_once('db.php');
 
if( isset($_GET['edit']) )
    {
        $id = $_GET['edit'];
        $res= mysql_query("SELECT * FROM proba WHERE id='$id'");
        $row= mysql_fetch_array($res);
            
    }
 
    if( isset($_POST['id']) )
    {
 
       ".$row['nev']."
       ".$row['gyumolcs']."
       ".$row['zoldseg']."
 
        $sql = "UPDATE tippmix SET Nev='$nev', Gyumolcs='$gyumolcs', zoldseg='$zoldseg' WHERE id='$id'";
        $res = mysql_query($sql) or die("Could not update".mysql_error());
        echo "<meta http-equiv='refresh' content='0;url=index.php'>";
    }
 
 
    
echo '<form action="edit.php" method="POST">
Neve: <input type="text" name="nev" value="'.$row['nev'].'">
Mit szeret gyümölcs: <input type="text" name="gyumolcs" value="'.$row['gyumolcs'].'">
Mit szeret zöldség: <input type="text" name="zoldseg" value="'.$row['zoldseg'].'">
 
<br />
<input type="hidden" name="id" value="'.$row['id'].'">
<br />
<input type="submit" value=" Szerkesztés "/>
</form>';


Működik a szerkesztés, mert adatbázisban látom, felmentem megnéztem.
Viszont ezt írja ki :

Undefined variable: row

Mit rontottam el ? Vagy ez most egy nagy marhaság lett ? :S
Bocsánat, köszönöm.

(#4) anti válasza erre: (#3) user23 2014.06.16. 13:03

anti
anti
Kezdő

Szia!

A while-os lekérdezésed bővitsd egy ilyen sorrál:

1
".$row['date']."


Az if ( isset ( $_POST['submit'] ) ) részben a
1
$date = $_POST["date"]; 

részt cseréld:
1
$date = date('Y-m-d H:i:s'); 

sorra.

Ezzel mentéskor te magad adod meg a dátumot a mentés pillanatában ahelyett, hogy POST-ból várnád.
Valamin lekérdezés során vissza is nyered a while-on belül.

(#3) user23 válasza erre: (#2) anti 2014.06.15. 14:41

user23
user23
Kezdő

Szia!

Köszönöm a segítséget.

" kiíró résznél a date = date('Y-m-d H:i:s') helyett kellene azt a változót beírnod, ami a korábban mentett dátumot tartalmazza. "


Elnézést, hogy idézek.

A kiírásban a lekérdezésem ilyen:

1
2
3
4
5
6
7
$kiir = "SELECT * FROM gyumolcs ORDER BY 'id' ";
$result = mysql_query($kiir) or die(mysql_error());
while ($row = mysql_fetch_array($result)){
".$row['nev']."
".$row['m_gyumolcs']."
".$row['gyumolcs']."
}


Ezt raktam most bele: ".$row['date']." , amiben a dátumozás lenne.
(A dátum változója, ha jól értelek.)
De azt látom, hogy minden sorban: 0000-00-00 van.

Felirásnál így van:
if ( isset ( $_POST['submit'] ) )
{
$nev = $_POST["nev"];
$m_gyumolcs = $_POST["m_gyumolcs"];
$gyumolcs = $_POST["gyumolcs"];
$date = $_POST["date"];
}

A hiden sort kivettem.
Az INSERT -be ezt raktam még hozzá: .. date, VALUES ('".$date."', ..
Elméletielg most akkor jó minden, de akkor miért nulláz ki mindent ? :S

Köszönöm a segítséget.




Utoljára szerkesztette: user23 2014.06.15. 14:42
(#2) anti válasza erre: (#1) user23 2014.06.14. 22:59

anti
anti
Kezdő

Szia!

A kiíró résznél a date = date('Y-m-d H:i:s') helyett kellene azt a változót beírnod, ami a korábban mentett dátumot tartalmazza.

Úgy, ahogy a belküldő neve és az, hogy milyen gyümölcsöt szeret, egy változóból jön (pl. $adat['nev'], $adat['gyumolcs']), ugyanígy a mentett dátumot is elérheted (pl. $adat['date']).

Apróság, de érdekes lehet, hogy nem szükséges rejtett mezőben elküldened a dátumot. Mert amikor a küldött adatokat feldolgozod, akkor $date = $_POST["date"]; helyett simán írhatod a $date = date('Y-m-d H:i:s'); formát.
Logikailag is helyesebb, mert a rejtett mezőbe gyakorlatilag az űrlap generálás időpontja kerül be. Ha valaki betölti az oldalt, majd mereven bámulja 1 órát a képernyőt és csak utána küldi el az űrlapot, akkor nem a küldés időpontja kerül tárolásra, hanem az, amikor betöltötte az oldalt, tehát az 1 órával korábbi időpont.

(#1) user23 2014.06.14. 11:34

user23
user23
Kezdő

Sziasztok!

Csináltam egy Űrlapot, annak van 1 adatbázisa ahol tárolja az értékeket.
A lapon van 1 lekérdezés, amiben szépen lehet látni is.
Szeretnék bele tenni, egy dátumot is, aki beküldte, azaz megnyomta a submit gombot annak a neve mellé egy következő oszlopban írja ki a dátumot.

Így próbáltam, találtam.

... űrlapom részlet:

1
2
<input type="hidden" name="date" value="<?= $date ?>">
<input type="submit" value="Submit" /></form>


// Submit után
1
2
$date = $_POST["date"];
 


// Ahol pedig ki írja az eredményt
1
<td align='center' class=''><font color='#159aed'>".date = date('Y-m-d H:i:s')."</font></td>


Az történik, hogy a Dátum oszlopban, az összes sorba azt a dátumot írja ki, amit utóljára beküldtem.
Tehát sajnos nem jó, mert mindenhol ugyan az a dátum van. :/

Hogyan tudnám megoldani, hogy minden sorba a megfelelő dátum legyen, tehát példa:

Beküldő neve: Béla Milyen gyümölcsöt szeret?: Alma Dátum: Itt az ő beköldési ideje
Beküldő neve: Géza Milyen gyümölcsöt szeret?: Körte Dátum: Itt az ő beköldési ideje

Nem tanulom a programozást, hobbi, kérem segítsen valaki.
Lehet hülyeség, amit ide irtam dátumozásra is, ezt találtam.
Köszönöm.

Listázás:  Idő szerint:


© 2006-2026 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat