webForumDet fria alternativet

formulärdata

10 svar · 406 visningar · startad av dea

deaMedlem sedan dec. 2002348 inlägg
#1

Jag undrar vad det är jag inte ser?
Detta formulär ska skicka in ett värde till min databas..
Men den skickar ett värde även om man uppdaterar sidan, när man går in på sidan.

varför?

<form action="" method="post" name="frm" target="_self">
	<br>
	<br>
		<?php
		$text=$_POST['text']; 
		$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
		$results = mysql_query($query_ins);
    			if($results) 
    			{
       			echo("Du har lagt till ");
    			}
    			else
    			{
     			   echo("Det gick inte att lägga till!"); 
    			} 
			?>
			Lägg till ny typ: <input name="text" type="text" size="20">
		       <input type="submit" value="ny"> 
		</form>
The_HulkMedlem sedan juni 20031 937 inlägg
#2

Du kontrollerar aldrig om använder kommer till sidan eller om den har klickat på submit-knappen.
du skulle kunna lägga en kontroll på $text;

<form action="" method="post" name="frm" target="_self">
	<br>
	<br>
		<?php
		$text=$_POST['text']; 
		if($text != "")
		{
			$query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
			$results = mysql_query($query_ins);
    			if($results) 
    			{
       				echo("Du har lagt till ");
    			}
    			else
    			{
     				echo("Det gick inte att lägga till!"); 
    			} 
		}
		?>
			Lägg till ny typ: <input name="text" type="text" size="20">
		       <input type="submit" value="ny"> 
		</form>
deaMedlem sedan dec. 2002348 inlägg
#3

The_Hulk skrev

Du kontrollerar aldrig om använder kommer till sidan eller om den har klickat på submit-knappen.du skulle kunna lägga en kontroll på $text;

<form action="" method="post" name="frm" target="_self">
    <br>
    <br>
        <?php
        $text=$_POST['text'];
        if($text != "")
        {
            $query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
            $results = mysql_query($query_ins);
                if($results)
                {
                       echo("Du har lagt till ");
                }
                else
                {
                     echo("Det gick inte att lägga till!");
                }
        }
        ?>
            Lägg till ny typ: <input name="text" type="text" size="20">
               <input type="submit" value="ny">
        </form>

då gick det tyvärr inte att skicka alls!

The_HulkMedlem sedan juni 20031 937 inlägg
#4

Säker på att du får något i $text?

<form action="" method="post" name="frm" target="_self">
    <br>
    <br>
        <?php
        $text=$_POST['text'];
        if($text != "")
        {
            $query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
            $results = mysql_query($query_ins);
                if($results)
                {
                       echo("Du har lagt till ");
                }
                else
                {
                     echo("Det gick inte att lägga till!");
                }
        }
        else
        {
            echo "\$text is empty";
        }
        ?>
            Lägg till ny typ: <input name="text" type="text" size="20">
               <input type="submit" value="ny">
        </form>
deaMedlem sedan dec. 2002348 inlägg
#5

Ja, det kom in data i min databas innan jag la till

if($text != "")
The_HulkMedlem sedan juni 20031 937 inlägg
#6

testa att byta ut det mot

if(strlen($text) > 0)
The_HulkMedlem sedan juni 20031 937 inlägg
#7

Ett annat sätt skulle vara

<form action="" method="post" name="frm" target="_self">
<input type="hidden" name="action" value="add">
    <br>
    <br>
        <?php
        $text=$_POST['text'];
        if(isset($_POST['action']) && $_POST['action']=='add')
        {
            $query_ins ="INSERT INTO tbl (text) VALUES ('$text')";
            $results = mysql_query($query_ins);
                if($results)
                {
                       echo("Du har lagt till ");
                }
                else
                {
                     echo("Det gick inte att lägga till!");
                }
        }
        ?>
            Lägg till ny typ: <input name="text" type="text" size="20">
               <input type="submit" value="ny">
        </form>
deaMedlem sedan dec. 2002348 inlägg
#8

tyvärr fungerade inte någon av dessa två sätt!

hm

The_HulkMedlem sedan juni 20031 937 inlägg
#9

har du något annat i PHP-filen?
Visa gärna exakt vad du har, svårt att försöka felsöka annars.
Har du någon konstig inställning i PHP?
du får ta och lägga in lite debug-utskrifter.
skriv ut vad $_POST['action'] $_POST['text'] innehåller.

deaMedlem sedan dec. 2002348 inlägg
#10

ursäkta mig!

Det funkade visst med - if($text != "")
jag hade ändrat tabellnamnet - mitt spånhuvud!

tackar så mycket The_Hulk

The_HulkMedlem sedan juni 20031 937 inlägg
#11

markera gärna tråden som löst.

362 ms totalt · 5 externa anrop · cache AV · v20260730165559-full.0b955084
0 ms — hämta statistik (cache)
121 ms — slå upp tråd (db)
0 ms — hämta forumlista (cache)
120 ms — hämta inlägg (db)
119 ms — hämta bilagor (db)