11. marts 2003 - 17:30Der er
6 kommentarer og 1 løsning
FEjl i kode?
Hejsa!
(se PHP-koden nedenfor)
Når der skrives i formen og trykkes send, sættes variablen $skriv til 1. Derefter kontrolleres om både navn og besked er udfyldt. Hvis ikke, kontrolleres de hver for sig, og feltet der ikke er udfyldt markeres som Udfyld venligst. Nu kommer der en underlig fejl: Hvis man provokerer siden i Explorer, og trykker send flere gange, med kun et af felterne besked eller navn udfyldt, så holder siden til sidst op med at virke - man kommer hele tiden tilbage til en tom form, og man kan blive ved med at trykke send uden at der sker noget. I Opera er der dog ingen problemer... Underligt, for PHP afvikles jo på serveren!?
Håber nogen kan regne fejlen ud.
Vhils Morten
Og her er så koden til min gæstebog:
<?php if ($skriv=='1') {
if (($besked)&&($navn)) {
$db = mysql_connect("minsql","minbruger","minkode"); mysql_select_db("mindatabase",$db); $insertSQL = "insert into gbog (navn, email, dato, besked) values ('$navn', '$email', now(), '$besked')"; mysql_query($insertSQL); echo '<p class="g1">$navn, du har indtastet:</p>'; echo '<p class="g2">E-mail: $email<br>Besked: $besked</p>';
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Internet explorer kan nogen gange være lidt "langsom" til at opdatere. Jeg ved ikke helt hvad det skyldes, men det kunne være parseren der er stor, at det jo tager tid, når du belaster den så meget som du gør... :)
Jeg vil udmiddelbart ikke mene at det havde noget med din kode at gøre, selvom den eventuelt skulle være "dårlig", hvis der findes sådan noget... (Har ikke engang læst den igennem :)) Jeg kender selv problemet, da jeg nogen gange ved kodning af javascript, bliver nødsaget til at sætte en timeout på nogle ting, for at IE, kan nå at "opfange" hvad der sker...
Håber det var en smule svar på hvad der er galt...
Jeg har nu kodet lidt op for dig.. og benyttet mig af de nye globale variabler.
Jeg har ændret lidt i skidtet, men håber det går. som du kan se at hvis ikke navn og besked er skrevet så melder den fejl. og melder fejl med hvilken en af dem eller dem begge den er gal med, og så hvis der er fejl kan du jo lave et link tilbage, så de kan prøve igen... ellers så er den ret lige til ikke *s*
if($_POST["navn"] == "") { echo "Du har ikke skrevet noget navn ...<br>"; } if($_POST["besked"] == "") { echo "Du har ikke skrevet nogle besked.<p>"; }
Tak for hjælpen! Indrømmet: Dette er mit første PHP script, så jeg er faktisk stolt over at det overhovedet virker ;) Lige nu er jeg for træt til at gå koden igennem, men jeg kigger lige på det i morgen
Jeg kunne ikke fange dig på ICQ, så spørger lige her: Når du siger globale variabler, mener du så eks. $_POST["navn"] ?? Når en form sendes gennem PHP, kan man så ikke bare bruge eks. variablen $navn, eller skal det være $_POST["navn"] ??
Synes godt om
Ny brugerNybegynder
Din løsning...
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.