lops90 Ierakstīts Janvāris 18, 2017 Share Ierakstīts Janvāris 18, 2017 (labots) Sveiki! Man ir uz lapas poga, kas izsauc funkciju, kas ieliek mysql DB ierakstu. Problēma tāda, ka viņa to nedara (nospiežot pogu nekas nenotiek). Savukārt, ja es aizkomentēju funkcijas sākumu un beigas tā,ka tas, kas ir funkcijā, izpildas pie lapas ielādes, tad DB ieraksts veiksmīgi tiek ielikts... Neesmu nekāds programmētājs un esmu web programmēšanā tikai dažas dienas jauns, tāpēc neesiet pārāk skarbi, jo kods tiek lipināts pa gabaliņiem no dažādām pamācībām un piemēriem Kur ir problēma vai kurā virzienā man rakt? <br/> <form> Name: <input type="text" name="teksts"> </form> <br/> <input id="btnPost" type="button" value="Post" onclick="writeMsg();" /> <br/> <?php include "Connect/DBcon.php"; header('Content-Type: text/html; charset=UTF-8'); function writeMsg() { $texts=$_POST['btnPost']; // Create connection $conn = new mysqli($db_host, $db_user, $db_pwd, $database); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO messages1 (ID, Text, Status) VALUES ('18833','484','Jautājums')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); }//funkcija; ?> Labots Janvāris 18, 2017 - lops90 Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Janvāris 18, 2017 Share Janvāris 18, 2017 (labots) Puskoka lēcēj, ej iemācīties atšķirību starp HTML, JavaScript, PHP. Pat desmitgadi vecajā grāmatā "PHP soli pa solim", šķiet, ka šī problēma bija aplūkota.. ----- Tieši nenorādu uz ko tieši jāskatās, bet dokumentācijā pameklē informāciju pie "by-default" definētajiem globālajiem mainīgajiem. Labots Janvāris 18, 2017 - Anonīms Alkoholiķis Link to comment Share on other sites More sharing options...
Eric Janvāris 19, 2017 Share Janvāris 19, 2017 visi esam bijuši jauni.. HTML daļa: <form method="post" action=""> <input type="text" name="teksts"/> <input type="submit" value="ielikt DB"/> </form> PHP daļa: <?php // pārbaudam vai kods ir izsaukts ar POST pieprasījumu un mainīgais ir saņemts if(isset($_POST['teksts'])) { $teksts = $_POST['teksts']; // ieraksta db } JS tur nafig nevajag.. 1 Link to comment Share on other sites More sharing options...
sharps Maijs 25, 2017 Share Maijs 25, 2017 (labots) Pie šīs pašas tēmas, bet ar funkciju UPDATE. Respektīvi ir tabula_1 kurā ir vairākas rindas ar inkrementējošu ID. Vēlos kādā konkrētā rindā, kuras numurs ir ID, mainīt kolonnas "Skaits" ierakstu. Ierakstu konkrētu skaitli. Nospiežu pogu un tiek padots paziņojums - "Undefined variable: ID in C:\Apache\htdocs\write.php on line 43 Informacija labota veiksmigi" Kā man tās konkrētās rindas "ID" un "Skaits" mainīgos pārnest uz formu? Izprovēju i tā i šitā. Ja Write.php pirms UPDATE darbības piešķiru $ID = 5, tad 5tā rindā pie "Skaits" tiek ierakstīts tukšums. Ja $Skaits = 22, tad ierakstās tie 22 5tā rindā. Paldies jau iepriekš skaits.php echo" <table width=100% border=1> <tr> <td width=4% align=center> <a>".$line['ID']."</a> </td> ............... <td width=5% align=center> <a>".$line['Skaits']."</a> <form action=/write.php method=post enctype=multipart/form-data> <input name=Skaits type=text size=5 maxlength=5 /> <input name=submit type=submit value=Pievienot /> </td> </tr> </table> "; write.php ar mainīgo vērtības izvadi $result = mysql_query ("UPDATE tabula_1 SET Skaits = '$Skaits' WHERE ID = '$ID' "); if ($result == 'true') { echo "Informacija labota veiksmigi"; } else { echo "Informacija nav labota"; } if (false === $result) { echo mysql_error(); } $ID='ID'; echo " <HR> = $ID!"; $Skaits='Skaits'; echo " <HR> = $Skaits!"; mysql_close(); Labots Maijs 25, 2017 - sharps Link to comment Share on other sites More sharing options...
superKrona Maijs 25, 2017 Share Maijs 25, 2017 (labots) <input name=ID type=text value="<?php echo $line['Skaits']; ?>" style="visibility: hidden" /> $line['Skaits'] domāts id Labots Maijs 25, 2017 - superKrona e Link to comment Share on other sites More sharing options...
sharps Maijs 25, 2017 Share Maijs 25, 2017 (labots) Es pareizi saprotu tagad? Pēc pievienošanas tomēr dod paziņojumu: ===== MYSQL serverim pievienojamies veiksmigi MYSQL datu baze izveleta veiksmigi Informacija labota veiksmigi = ID! = Skaits! ===== Respektīvi mainīgie ir tukšas vērtības starp ID, Skaits un ! zīmi. Rezultātā nekas nav mainījies tabulas ierakstos. Tikai šoreiz par mainīgiem nebļaustās. Progress ir. Vismaz kad izdrukā tabulu, tad pie $ID un $Skaits mainīgajiem tās vērtības ir vajadzīgās. Nospiežot pogu "pievienot" tās vērtības ir tukšas. PS Papildināšu Skaits.php ar php tagiem. Skaits.php <? echo" <table width=100% border=1> <tr> <td width=4% align=center> ".$line['ID']." <input name=ID type=text value=".$line['ID']." style=visibility: hidden /> </td> .... <td width=5% align=center> <a>".$line['Skaits']."</a> <form action=/write.php method=post enctype=multipart/form-data> <input name=Skaits type=text size=5 maxlength=5 /> <input name=submit type=submit value=Pievienot /> </td> </tr> ?> Labots Maijs 25, 2017 - sharps Link to comment Share on other sites More sharing options...
superKrona Maijs 25, 2017 Share Maijs 25, 2017 Visu POST mainīgo padošanai uz write.php ir jābūt iekš <form>...</form> Gan $ID, gan $Skaits Link to comment Share on other sites More sharing options...
AndrisBB Maijs 25, 2017 Share Maijs 25, 2017 (labots) Nelieto echo, lai izvadītu html, tas kods paliek nelasāms, grūti saprotams gan lasītājam, gan editoram (pazūd viss sintakses highligting), gandrīz neiespējami debagot. Sliktākajā gadījumā vismaz izprintē tos mainīgos tikai tur kur vajag. <table width=100% border=1> <tr> <td width=4% align=center> <input name=ID type=text value="<?= $line['ID'] ?>" style=visibility: hidden /> </td> <td width=5% align=center> <a><?= $line['Skaits']; ?></a> <form action=/write.php method=post enctype=multipart/form-data> <input name=Skaits type=text size=5 maxlength=5 /> <input name=submit type=submit value=Pievienot /> </td> </tr> </table> Vai mūsdienās vispār kāds izmanto formas ar to arhaisko submit? Uztaisi parastu POST/GET no javascripta, kautkādu vienkāršu handlebars templeitu un miers. Labots Maijs 25, 2017 - AndrisBB Link to comment Share on other sites More sharing options...
sharps Maijs 26, 2017 Share Maijs 26, 2017 Ieliku formās un tagad viss strādā. Ir protams sīkas niansītes. Kā piemēram ieraksts pārbīdījās nākamajā rindā, bet to salaboju. Paldies par palīdzību. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!