Jeg er igang med at lave en redigerings side hvor den som logger ind kan redigere sin egen profil... Men jeg jeg har et problem... eller rettere flere problemer...
1. hvordan får jeg den til at vise det profil navn man er logget ind under? for lige nu viser den et andet navn end det du logger ind som...
2. Kan det være min login del som ikke sætter mine sessions rigtigt?
dologin.php
<?php session_start(); //hvis formen er sendt if(isset($_POST['login'])) {
//Opkald til database og valg af datbase
$db = mysql_connect("xxx","xxx","xxx") or die("desværre ingen forbindelse til databasen"); mysql_select_db("xxx", $db) or die("kunne ikke vælge databasetabellen");
1: Du skal rette: $res = mysql_query("SELECT * FROM profil LIMIT 1"); til: $res = mysql_query("SELECT * FROM profil WHERE id = ".$_SESSION["id"]."LIMIT 1");
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programmer\YellowTip\Htdocs\joy-palaze\dating\index.php on line 38
Går ud fra, at det er Jakobs løsning, og derfor er mit umiddelbare bud, at din $_SESSION['id'] er tom. Har du husket at have session_start() med i toppen af begge filer?
Og tilføj altid, så det bliver: mysql_query(" ....... ") or die(mysql_error()); ...når du får en fejl med et databasekald. Du må gerne lige paste meddelelser herind når du får den, det vil helt sikkert hjælpe os.
nu vil den ikke vise min rediger profil link... nu ser min kode sådan her ud...
<?php $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."'") or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { echo "<a href=\"rediger_profil.php?id=".$row['id']."\">Rediger ".$row['navn']." </a>"; } ?>
Der er ingen grund til at lave: <?php $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."'") or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { echo "<a href=\"rediger_profil.php?id=".$row['id']."\">Rediger ".$row['navn']." </a>"; } ?>
Du kan lave nøjes med: <a href="rediger_profil.php">Rediger Din Profil</a>
og på siden: rediger_profil.php laver du så: SELECT * FROM profil WHERE id = ".$_SESSION['id']." LIMIT 1
Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in C:\Programmer\YellowTip\Htdocs\joy-palaze\dating\inc\rediger_profil.php on line 15
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programmer\YellowTip\Htdocs\joy-palaze\dating\inc\rediger_profil.php on line 52
$res = mysql_query("SELECT * FROM profil WHERE id = '.$_SESSION['id'].' LIMIT 1") or die(mysql_error());
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
Yes. Så vil jeg igen spørge, om du har husket session_start(); ? Og prøv at udskrive $_SESSION['id'] på rediger-siden og se om den kommer frem eller om den er tom. F.eks.: echo "Dit id-nummer er: ".$_SESSION['id'];
det gør jeg på min dologin.php sender den lige til dig....
<?php session_start(); //hvis formen er sendt if(isset($_POST['login'])) {
//Opkald til database og valg af datbase
$db = mysql_connect("xxx","xxx","xxx") or die("desværre ingen forbindelse til databasen"); mysql_select_db("xxx", $db) or die("kunne ikke vælge databasetabellen");
Har du rettet din sql på rediger_profil.php til: $res = mysql_query("SELECT * FROM profil WHERE id = ".$_SESSION['id']." LIMIT 1") or die(mysql_error());
???
og ikke: $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."' LIMIT 1") or die(mysql_error());
jakobdo når jeg laver den sql linie du siger får jeg denne fejl
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
Men når så man laver de ændringer der skal være. skal jeg så lave en fil der hedder update.php
hvor jeg laver en sql line der hedder
mysql_query("UPDATE INTO profil(navn, pass, fornavn osv...) VALUES('$navn', '$pass', '$fornavn', osv...)") or die(mysql_error()); echo "din profil er nu rettet...";
hvis nu en bruger ikke ønsker at have en profil der inde mere og vil slette den...
så ville jeg lave det sådan at du trykker på slet profil. på den sider der kommer fra bliver du bedt om at indtaste dit password og trykke på slet profil...
Både og. Nu har jeg ikke lige set koden, men at lave et helt nyt login er jo lidt tosset. Det er jo nok at teste, om det indtastede password er det samme som han har i databasen, og derefter slette profilen og slette hans sessions.
mysql_query("SELECT id, pass FROM profil WHERE pass = '.$pass.'")or die(mysql_error()); } else { mysql_query(DELETE FROM profil WHERE id = ".$_SESSIOM['id']) or die(mysql_error());
Okey, så skal du jo lave en side, med action='slet_profil.php' med et password-felt du kalder 'password'
session_start(); if(mysql_result(mysql_query("SELECT COUNT(*) FROM profil WHERE id = ".$_SESSION['id']." AND password = '".$_POST['password']."'), 0) == 1) { mysql_query("DELETE FROM profil WHERE id = ".$_SESSION['id']) or die(mysql_error()); header("login.php"); } else { echo "Der skete en fejl!"; }
kan nogen finde min fejl. Jeg får den fejl meddelse:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programmer\YellowTip\Htdocs\joy-palaze\dating\story\test.php on line 50
<div align="left"><table width="200" height="200" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <th scope="col"> <fieldset> <legend>Profil Oplysning</legend> <?php $navn=$_SESSION['Name']; echo 'Du er nu logget ind som:<br> '; echo '<b><i>'; echo $navn; echo '</b></i>'; ?> </fieldset></th> </tr> <tr> <td> <fieldset> <legend>5 Nyeste Profiler</legend> Se de 5 nyeste profiler<br> Herinde lige nu... </fieldset></td> </tr> <tr> <td> <fieldset> <legend>Din Menu</legend> <?php $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."'") or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { echo "<a href=\"../inc/rediger_profil.php?id=".$row['id']."\">Rediger ".$row['navn']." </a>"; } ?><br> <?php $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."'") or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { echo "<a href=\"../inc/slet_profil.php?id=".$row['id']."\">Slet Profil</a>"; } ?><br> <?php $res = mysql_query("SELECT * FROM profil WHERE id = '".$_SESSION['id']."'") or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { echo "<a href=\"../inc/upload_billed.php?id=".$row['id']."\">Upload Billed</a>"; } ?><br> Min Gæstebog </fieldset> </td> </tr> </table><center>Har du en Fantasi eller en dating historie du vil dele med<br>andre så er du vilkommen til at skrive din historie her...<br><br> <form action="" method="post" enctype="multipart/form-data"> <table border="0">
<tr><td>Skrevet af :</td><td><input type="text" name="author" value="<?php $id = $_GET['id']; $res = mysql_query("SELECT * FROM profil WHERE id = ".$_SESSION['id']." LIMIT 1") or die(mysql_error()); $row = mysql_fetch_assoc($res); echo ".$row['navn']."; ?>"> </td></tr> <tr><td></td><td></td></tr> <tr><td>Genre :</td><td><select name="genre"><?php $sql = mysql_query("SELECT id, navn FROM storygenre ORDER BY navn"); while ($row = mysql_fetch_array($sql)) { echo '<option value="'.$row['id'].'">'.$row['navn'].'</option>}'; ?> </select></td></tr> <tr><td colspan="2">Historien:</td></tr> <tr><td colspan="2"><textarea name="stories" wrap="physical" cols="40" rows="5"></textarea></td></tr> <tr><td><input type="submit" value="Send Historie"></td><td><input type="reset" value="Slet alt"></td></tr>
hvorfor vil den ikke skrive mine genre i min select box...
<select name="genre"><?php $sql = mysql_query("SELECT id, navn FROM storygenre ORDER BY navn"); while ($row = mysql_fetch_array($sql)) { echo '<option value="'.$row['id'].'">'.$row['navn'].'</option>'; }?> </select>
Når jeg skal lave en online liste... skal jeg så ikke lave en tabel hvor jeg har id, brugernavn i for at kunne lave en online liste...
det skal jo være sådan at når du logger på skal den jo registrere dig navn men også lige flytte det over i en anden tabel for alle dem som der er online så man kan se dem på online listen... og når du logger ud skal den jo slette dig fra onlinelisten i logud scriptet...
Kan du hjælpe mig med at lave begge script eller hvordan der?
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.