Miért nem sikerül lekezelni az adatbázisom PHP-vel?
Adott egy oldal amibe felviszem az adatokat elvileg levan kezelve, hogyha a submitre rámegyek, akkor vigye fel. Az adatok eltűnnek, mégsem veszi fel az adatbázisba. Van egy listázó oldalam, ahonnan meg törölni nemtudok és valahogy összefüggésben lehet a 2. A felvivőnél nem kapok semmi hibaüzenetet csak visszavillan az oldal ( php myself-es )
a törlős listásnál pedig :
Notice: Undefined index: torlendo in C:/.......torlo.php on line 11
Warning: Invalid argument supplied for foreach() in C:\.......torlo.php on line 13
mi lehet a gondja ? annak is nagyon tudnék örülni ha esetleg valakinek elküldhetném végső esetben, hogy kiderüljön a hiba és megtudnám oldani..
Ez nem adatbázis hiba lesz.
Értelmezd a hibaüzenetet: Az elsőnél hiányzó indexre panaszkodik, a másodiknál a foreach ciklusban van hiba. Sorok számai is ott vannak, keresd a hibát!
Vizsgáld meg milyen post változók mennek vissza, milyen változókat kap a foreach stb...
echo "<form name='torol' method='post' action='torlo.php'>";
echo '<table>';
while($sor=mysqli_fetch_array($result))
{
echo '<tr>';
echo "<td><input name='torlendo[]' type='checkbox' value='$sor[0]' /></td>";
echo "<td>$sor[0]</td>";
echo "<td>$sor[1]</td>";
echo "<td>$sor[2]</td>";
echo "<td>$sor[3]</td>";
echo "<td>$sor[4]</td>";
echo "<td><a href=torlo.php?id=$sor[0]>törlés</a></td>";
echo '</tr>';
}
ez található a listámnál és az alsó a törlőnél :
<?php
$IDk=$_POST['torlendo'];
require ('connect.php');
foreach($IDk as $ID)
{
$query="DELETE FROM gyermekek WHERE ID='$ID'";
$result=mysqli_query($dbc, $query) or die('Az adott rekord törlése sikertelen.');
}
mysqli_close($dbc);
?>
az ID vel lehet baja de nem tudom, hogy mi az, hogy hol veszhet el vagy mi :S...
Az a hiba üzenet magyarra fordítom "Te bolond, a torlo.php ban 11es hibakódot vétettél! Javítsd ki"
Elcseszted, a forráskódot, soha az életben nem fog az menni
Úgy látom te eléggé kevered a szezont a fazonnal :)
Egyrészt van egy űrlapod (btw nincs lezárva), amit nem submit-olsz, így gyakorlatilag a torlo.php soha az életben nem fog kapni $_POST változót, amit a form küldene neki.
Másrészt minden sor végén van egy link, amivel $_GET-ben átadod a torlo.php-nak a törlendő sor ID értékét. Viszont csak annak az egyetlen sornak az id-ját.
A torlo.php feldolgozó része viszont a formtól várja az értékeket, amit nem valószínű, hogy meg fog kapni.
Ha ezt nem látod át, akkor sajnos nem tudunk segíteni. Két választásod van: tanulsz még egy kis php-t, megpróbálod megérteni, hogy ki is történik a bemásolt kódban, vagy megbízol valakit, aki pénzért megcsinálja neked, abból viszont nem tanulsz semmit.
Sok sikert!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!