Slet ALT fra tabellen \"kurv\" er du HELT sikker på, at det er det du vil? Det lydder som en webshop, hvor kurn indeholder folks vare, men med den der query, sletter du ALT i tabellen, IKKE kun den aktuelle kundes data, men ALLE kunders data. Med andre ord, din kode ser ud til at lave problemer senere.
chanoa: Det er ok - jeg vil bare have en slet knap. Skal bare vise at siden er dynamisk.
tsocm + andre: nu ser det sådan ud - men virker stadig ikke. <? function toem_kurv(){ mysql_query(\"delete from kurv\"); } ... echo \'<br><center><INPUT NAME=\"toem\" TYPE=\"submit\" VALUE=\"Tøm indkøbskurv.\"></center>\'; if($toem) { toem_kurv(); } ?>
Ok, nu begynder det at give mening... Men jeg er for træt til at give et ordenligt svar lige nu... Hvis ikke andre har svaret, vender jeg tilbage i morgen.
echo \"AAAAA \\\" aaaaa\";
Betyder, at den udskriver dette
AAAAA \" aaaaa
uden \\ vil PHP opfatte \" som slut på strengen, og give en syntax error.
$PHP_SELF er en variable der indeholder en relativ URL på det aktuelle script, altså er dit script http://server/script.php bliver $PHP_SELF /script.php
kanon - tak for din hjælp ind til videre. Jeg prøver lidt mere - og hvis det lykkes skriver jeg lige. Hvis der ikke er noget må du meget gerne prøve i morgen. Sov godt :-)
<Table ALIGN=CENTER> <br> Alle betalinger og leveringer sker via efterkrav. <pre> Navn <INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"38\"> Adresse <INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"38\"> Postdistrikt<INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"15\"> Postnr.<INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"12\"> Evt. telefon<INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"38\"> Evt. E-mail <INPUT NAME=\"name\" TYPE=\"text\" SIZE=\"38\"> </pre> <center><INPUT NAME=\"name\" TYPE=\"submit\" VALUE=\"Køb indhold af indkøbskurv.\"></center> </FORM> </Center> </table> </body> </html> <? mysql_close($conn); ?> -----------------------------
Læg mærke til ø i stedet for ø, du bør ALTID benytte æ ø og å istedet for æ ø og å, da ikke alle browsere vil vise æøå korrekt.
Det udskriver alle data der bliver sendt med post, og gør det lidt nemmere at finde ud af, hvad der kommer med fra formen.
Et andet problem jeg lige kom til at tænke på, er at det ikke er sikkert, at PHP er sat op til, automatisk, at putte indholdet af parametre toem ned i variablen $toem, så prøv at rette $toem til $HTTP_POST_VARS[\'toem\'] (Hvis du bruger post til at sende formen) eller $HTTP_GET_VARS[\'toem\'](Hvis du bruger GET til at sende formen)
...kanon - det var det med form, der skulle med. Har siddet lidt og ændret design en smule. Nu skal jeg bare have ordnet så der kan puttes noget i kurven.... :-) Mange tak for hjælpen - kig evt. på www.friserverplads.dk/web_k
Griner..... det er et problem på samme site som før. Jeg kan ikke få tingene ned i DB. ......... <?php $conn = mysql_connect(\"localhost\", \"****\", \"*****\"); mysql_select_db(\"****\"); $result = mysql_query(\"select * from varer2 where varetype =\'cd\'\"); ?> <html> <head>
Værdien af name bliver her sat til værdien af database feltet \"id\" som jeg går udfra du har og bruger som en unik identifier for din række. Det er ikke så vigtigt hvad name bliver sat til, men den må bare ikke være ens på nogle af formene...
Efter din while sætning skulle hjælpe en del, du skal så slette den echo \'<form>\'; der er oven over.
Desuden skal der så være en echo \"</form>\"; inden den } der afslutter din while lykke, så skulle problemet være løst.
Jeg ville dog ha\' bygget det hele op på en totalt anderledes måde, men det er for meget arbejde når du nu er godt igang.
Tjahh.... den virker ikke. Der ligges 0,00 i kurv og ingen att. ----------- <?php $conn = mysql_connect(\"localhost\", \"***\", \"***\"); mysql_select_db(\"***\"); $result = mysql_query(\"select * from varer2 where varetype =\'cd\'\"); ?> <html> <head>
Først og fremmest dårlig til at stille kode op, ej det er nok bare programmørene af experten, der ikke har tænktpå, at man KUNNE finde på at poste kode.....
Rykkede lige rundt på nogle ting, og tilføjede lidt mere...
<?php $conn = mysql_connect(\"localhost\", \"***\", \"***\"); mysql_select_db(\"***\"); $result = mysql_query(\"select * from varer2 where varetype =\'cd\'\");
// Declare dine functions FØRST.
function i_kurv(){ echo \'into_DB\'; mysql_query(\"INSERT INTO kurv (varetype, titel, kunstner, pris) VALUES ( \'$varetype\',\'$TITEL\',\'$KUNSTNER\',\'$PRIS\')\"); }
if($name){ // Den sidder her, fordi det siger jeg den gør ;) i_kurv(); }
<? $VARETYPE = \"cd\"; while ($row = mysql_fetch_array($result)) { // Jeg kan bedst lide den slags samlet ;) $TITEL = $row [\"titel\"]; $KUNSTNER = $row [\"kunstner\"]; $PRIS= $row [\"pris\"]; $name=$row[\'varenr\'];
echo \"<form action=\\\"$PHP_SELF\\\" method=\\\"POST\\\" name=\\\"$name\\\">\"; // Prøv at placere den her. // Vi skal lige ha\' alle værdierne sendt med ik\'? reset($row); // Set arrayet \'row\' tilbage til starten foreach ($row as $key => $value) { $ukey = strtoupper($key); if (!is_numeric($ukey)) { //Vi GIDER ikke ha\' alle værdierne mere end en gang. echo \"<input type=\\\"hidden\\\" name=\\\"$ukey\\\" value=\\\"$value\\\">\\n\"; // Lav et hidden input felt med værdien i. } // Endif } //End foreach
Nærmere noget med, at du checker om $name er sat, det er den IKKE da der ikke er noget i scriptet der sætter den. Det for bliver funktionen i_kurv() aldrig kørt, og der kommer intet i databasen.
Men der er nogle problemer med flowet i din kode som jeg ikke lige kan finde.
MEN du kan prøve disse linier i toppen (HELT OPPE I TOPPEN):
Ok - men mange tak for \"kampen\" - jeg har lært noget :-) Hvis du skulle finde ud af det, så skriv venligst. Når/hvis jeg har fundet løsningen kommer den her.
Ok.... Men jeg har ikke tænkt mig at bruge ret meget tid på det. Men jeg tror du skal prøve at slette det script totalt og skrive det om fra bunden, det har nogle gange hjuplet mig, hvis der var et problem jeg ikke kunne løse.
Det var squ hurtigt....Jeg brugte det jeg nævnte om globale var så det kom til at se sådan ud. ---------- function i_kurv(){ global $VARETYPE; global $TITEL; global $KUNSTNER; global $PRIS;
echo \"INSERT INTO kurv (varetype, titel, kunstner, pris) VALUES \'$VARETYPE\',\'$TITEL\',\'$KUNSTNER\',\'$PRIS\')<br>\\n\";
mysql_query(\"INSERT INTO kurv (varetype, titel, kunstner, pris) VALUES ( \'$VARETYPE\',\'$TITEL\',\'$KUNSTNER\',\'$PRIS\')\");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.