Fejl i tagwall?

Tags:    php

Nu har jeg siddet og rodet lidt med et lille community og gjort det bedere hist og her, men nu har jeg så opdaget at når jeg skriver en besked i tagwallen så bliver den ikke skrevet? Dvs. den bliver ikke indsættet i databsen også kan vis.php jo ikke se beskeden, så hvad er der galt med tilfoj.php ?
Fold kodeboks ind/udKode 




Hvad i alverden er det du prøver på? Du henter data fra databasen men du sætter samtidig data ind?

Skal du ikke bare skrive

$query = "INSERT INTO bruger_tagwall (brugernavn, besked) VALUES ($_SESSION[brugernavn], $_POST[besked])";

mysql_query($query)

Og så fjerne din while-lykke og alt det der.



;) Er ikke en garved php dreng. ;D og hvis du læser så er det ikke mig der har lavet communityet jeg laver bare lidt om på ting hist og her.. :) Så jeg prøvet bestemt ikke på noget.. ;)

- Hotserv er lukket ned så fjern dit link, ingen kan bruge det til noget.. :P Ej glem det..



Kære ven

Når du siger $minvariabel = $_POST['']; , så siger du til php , at det som brugeren sender skal være lig med minvariabel, ergo nede hvor du indsætter, altså i insert into, så i stedet for $_POST['besked'], så skriv $besked .

Det andet svarer lidt til , at bygge et hus uden nogen må bo i det.

Og hvorfor indsætter du Id'et? Det håber jeg da din mySQL er sat til automatisk, at tælle een op hvergang



Indlæg senest redigeret d. 28.10.2007 12:38 af Bruger #12696
LÆS dog efter! DET ER IKKE MIG DER HAR LAVET OG JEG ER F**king IKKE GO TIL PHP! DERFOR PRØVER JEG MIG FREM OG SPØRGER HVIS DER ER FEJL! .. :)



Prøv dog lige at styre dig lidt jacob, vi gider sku da ikke hjælpe dig når du "råber"



hvem end der har kodet det der er rimelig dårlig såvidt jeg kan gennem skue.
det her:
if (session_is_registered("brugernavn") AND ("kodeord"))
at teste om strengen "kodeord" er sand er meget meningsløst det er den altid, skulle nok være:
if (session_is_registered("brugernavn") AND session_is_registered("kodeord"))


det her:
$query = mysql_query("SELECT * FROM brugere where brugernavn = '$_SESSION[brugernavn]'");
while ($row = mysql_fetch_array($query)) {

at finde alle brugere med et brugernavn svarende til den bruger der er logget ind. Eneste grund jeg kan se til at gøre det skulle da være hvis man var i tvivl om brugeren var lovlig, men ville være rimeligt mystisk hvis man har ladet en ikke bruger logge ind, jeg ville helt slette din while løkke. I tilfældet af at brugernavn ikke er unikt ville der komme n beskeder i tagvallen hvor n var antallet af brugere med den indloggets brugers navn.

det her:
mysql_query("INSERT INTO bruger_tagwall (id, brugernavn, emne, besked, dato) VALUES ('', '$row[brugernavn]', '$_POST[emne]','$_POST[besked]', NOW())");

som nævnt id burde autoincrement.
Hvis du aligevel bruger mysql NOW() kan du lige så godt sætte timestamp kolonnen til selv at gøre det med default værdi CURRENT_TIMESTAMP, kan gøres let i phpmyadmin


en helt del andre sjove ting i den kode.
her er en ændret version
[code]
<?
session_start();
?>
<link rel="stylesheet" href="../css.css" type="text/css">
<?
if(isset($_SESSION["brugernavn"])&&isset($_SESSION["kodeord"])) {
include "../config.php";
mysql_query("INSERT INTO bruger_tagwall (brugernavn, emne, besked) VALUES ('".$_SESSION['brugernavn']."', '".$_POST['emne']."','".$_POST['besked']."')");
echo "Din besked er tilføjet.<br>";
include "vis.php";
}else{
include "ikloggetind.php";
}
?>
[code]







Undskyld, men det nytter ikke i hakker på mig.

- Har fået svar nok. (: Tak..



Hakkede bestemt ikke på dig , medmindre du kalder gode råd for , at hakke på dig.

Må vi få adressen på din hjemmeside eventuelt?



Hehe,
Jeg skal bare lige ha' rettet et par ting så man ikke kan logge ind på admin med hvilket som helst kodeord. ;)
Poster linket når det er rettet..



t