Avatar billede Banj0s Nybegynder
18. oktober 2009 - 14:33 Der er 21 kommentarer og
1 løsning

hente en $_POST['????'] fra en while

hvorfor er det at jeg ikke kan hente $_POST['test'] når den står under while?


$database_test = mysql_query("SELECT * FROM test");

while($row_test = mysql_fetch_assoc($database_test))
{  ?>
    <form action="test.php" method="post">
    <form  method="post" action="profile.php">
    <input name="test_knap" type="submit" value="knap" />
    </form>
    <?php
}
if (isset($_POST['knap']))
{
  echo "testen virker";
}
else
{
  echo "testen virker ikke";
}
?>





er der en anden måde man kan gøre det på for at få samme resultat?
Avatar billede virtual1ty Nybegynder
18. oktober 2009 - 14:41 #1
Er det ikke sådan her?

if (isset($_POST['test_knap']))
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 15:01 #2
jo selvfølgelig ^^ skrev det forkert her inde... men det er ikke fejlen i mit script!
Avatar billede virtual1ty Nybegynder
18. oktober 2009 - 15:08 #3
Hvad er egentlig pointen med det her?
<form action="test.php" method="post">
<form method="post" action="profile.php">
Avatar billede dkfire Nybegynder
18. oktober 2009 - 15:34 #4
Hvad er lige ideen med at skrive en form inde i den while-løkke ?
Vil du have den samme form skrevet ud flere gange ?  med det resultat at din html bliver invalid ?
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 15:51 #5
jeg skal bruge den til at hente alle brugere og sætte dem ind i et skema, ud for vær bruger skal der så sættes en knap som der kan fører en hen til deres profil.. problemmet er at min if sætning ikke kan finde navnet på mine knapper
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 15:52 #6
det var en lille fejl at jeg skrev 2 <form>'er efter hinaden
Avatar billede BrJoe Nybegynder
18. oktober 2009 - 16:40 #7
Jeg forstår ikke helt her, du vil simpelthen først hive noget ud af databasen når der er trykket på en knap?
Avatar billede BrJoe Nybegynder
18. oktober 2009 - 16:49 #8
Hvis det er tilfældet kan du jo bare gøre dette:

<?php

    if(isset($_POST['submitform'])) {
       
        $database_test = mysql_query("SELECT * FROM test")
        or die (mysql_error());
       
        while($row = mysql_fetch_array($database_test)) {
       
            echo "$row[fornavn] $row[efternavn]<br />";
           
        }
       
    }

?>


<form name="formen" method="post" action="">
<input type="submit" name="submitform" value="Submit" />
</form>
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 16:50 #9
nej jeg vil hive noget information ud som der vises... og når den information så trykkes på skal der ske noget andet.... men er det ikke lige meget hva' jeg skal bruge det til.. vil bare vide om det kan lade sig gøre
Avatar billede BrJoe Nybegynder
18. oktober 2009 - 17:04 #10
Når informationen vises og trykkes på, skal den så gå til anden side?
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 17:41 #11
ja den skal gå til en anden side... men sammen tiddig skal den ændre en $_SESSION.... den det er jo lige meget lige nu for jeg kan ikke få den til at finde mine knapper som bliver spyttet ud af while commandoen
Avatar billede BrJoe Nybegynder
18. oktober 2009 - 17:55 #12
Jeg prøver sådan set bare at hjælpe dig. Hvis du fortæller mig kort hvad det er du konkret vil have lavet så kunne det være en stor fordel.

Du vil have at der bliver hentet noget tekst ind på din side fra din database. Man skal så kunne klikke på den tekst som linker videre til en ny side hvor der står noget andet. Har jeg ret eller hvad?

Det jeg så ikke forstår er hvad din form skal bruges til og hvad den skal gøre. Og hvornår skal der oprettes en session?
Avatar billede dkfire Nybegynder
18. oktober 2009 - 17:55 #13
Hvordan ser HELE din kode ud for den fil du tester ?
Avatar billede Banj0s Nybegynder
18. oktober 2009 - 19:53 #14
ok vi prøver igen denne gang hviser jeg jer det script som jeg arbejder på. og tak fordi i bliver hængede for at finde en løsning på mit problem.

scriptet forneden skal bruges til at vise alle medlemmerne på siden, hvor den går ind i databasen henter alt information og spytter det ud i en tabel. i den tabel bliver der blandt andet spyttet en knap ud. denne knap skal fører en hen til medlemmets profil, men samtidig skal den ændrer $_SESSION['visit'] sådan så brugeréns profil kan blive vist.

her kommer hele mit scipt.. og ja jeg ved godt at der er 0 sikker hed på det XD men har ikke fået det lært enu.. ville være glad hvis i kunne sende mig en tutorial/guid omkring det.

her kommer hele mit script:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php
    include ("connectmysql.php");
    session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Members</title>
  <link rel="stylesheet" type="text/css" href="style/css_style.css">
</head>
<body>
<?php
include ("menubar.php");
?>
<div><table border="1" bgcolor="#C0C0C0"><tr><td>Avatar</td><td>Username</td><td>Status</td><td>Visit profile</td></tr>
<?php
    $members_names = array();
    $find_all_users = mysql_query("SELECT * FROM users");
    while($row = mysql_fetch_assoc($find_all_users))
      { ?>
            <tr><td><img src="<?php echo $row['avatar']; ?>" height="100" width="60" /></td>
            <td><?php echo $row['username']; ?></td><td><?php echo $row['online']."line"; ?></td>
            <td><form name="ole" method="post" action="profile.php">
            <form  method="post" action="profile.php"><input name="ole" type="submit" value="Visit" /></form>
            </td></tr>

<?php
    $members_names[] = $row['username'];
    }

    ?>
</table></div>


</body>

</html>
Avatar billede dkfire Nybegynder
18. oktober 2009 - 21:03 #15
Et hurtigt spørgsmål: Hvorfor har du bruge for at få ændret din session variabel ?

En session variabel kan IKKE ændre af noget html, det kan kun ske ved at kalde en php side.
Avatar billede dkfire Nybegynder
18. oktober 2009 - 23:41 #16
Lidt om din kode.
Først bør du slå visning af ALLE fejlbeskeder til.

Du kan IKKE kalde session_start() efter du har sendt noget til browseren. Det kan være html, ren tekst eller bare en tom linje.
I din kode har du allerede på første linje noget html som bliver sendt til browseren som det første. Så kan session_start ikke komme bag efter.

Som det er blevet sagt før, så kan du ikke have to <form> tags efter hinanden.

Du bør, hvis du vil lave det med forms, have form taget uden for while-løkken.

Jeg vil dog forslå dig at i stedet for en knap fra en form, så lave et helt normalt link. Du skal dog huske at du bliver nød til at sende noget information videre til næste side. Det er lettest ved et link. Det kunne være noget ala: '<a href="side.php?id=3">link</a>' hvor 3 indikere id'et på den bruger som er valgt.
Avatar billede BrJoe Nybegynder
18. oktober 2009 - 23:48 #17
Hej igen Banj0s

Jeg har lavet et eksempel på www.uidesigns.dk/ekspert/index.php
Er det noget i stil med det du vil ha'?

Jeg har skrevet nogen navne ud på siden som alle har deres unikke id, lavet dem til links hvor de derefter linker ind til en ny side med noget beskrivelse eller hvad man nu vil have.
Avatar billede BrJoe Nybegynder
19. oktober 2009 - 00:00 #18
index.php :

<?php
       
        $database_test = mysql_query("SELECT * FROM test")
        or die (mysql_error());
       
        while($row = mysql_fetch_array($database_test)) {

?>
       
<ul>
<li><a href="beskrivelse.php?id=<?php echo $row['id']; ?>"><?php echo "$row[fornavn] $row[efternavn]"; ?></a></li>
</ul>
           
<?php } ?>


beskrivelse.php :

<?php

    $result = mysql_query("SELECT * FROM test WHERE id = '$_GET[id]'")
    or die (mysql_error());
   
    while ($row = mysql_fetch_array($result)) {
       
?>

<p>Her er noget beskrivelse om <?php echo "$row[fornavn] $row[efternavn]"; ?></p>

<?php } ?>
Avatar billede BrJoe Nybegynder
19. oktober 2009 - 00:02 #19
Ja lige præcis som dkfire nævnte. Så jeg så ikke lige før jeg skrev dem her :-)
Avatar billede Banj0s Nybegynder
19. oktober 2009 - 20:03 #20
ok tak for hjælpen ^^ det med session var bare min måde at adskille brugerne fra hinaden på, for kendte ikke til det med id i linket.... er nybegynde nemlig ^^ men tak for hjælpen vil kigge lidt på det med id.
Avatar billede Banj0s Nybegynder
19. oktober 2009 - 20:04 #21
kan en af jer ikke sende et svar? så i kan få pointne for det?
Avatar billede BrJoe Nybegynder
19. oktober 2009 - 22:52 #22
Svar :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester