hvad er der galt med min kode

Tags:    php

<< < 12 > >>
jeg er ved at lave et brugerlogin på mit php login der skal være 3 rettigheds tyber bruger admin super admin men kan ikke få min kode til at virke den viser bare hvid skærm håber i kan hjælpe

<?php
$host="localhost"; // Host name
$username="***"; // Mysql username
$password="***"; // Mysql password
$db_name="****"; // Database name
$tbl_name="****"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or
die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and
password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);
if($count==1 && $row['role'] == "Administrator"){
session_register("myusername");
session_register("mypassword");
$_SESSION['user'] = $myusername;
$_SESSION['name'] = $row['name'];
// Remember login if checked
if (isset($_POST["remember"])) {
setcookie('username', $myusername, time()+3600*168, '/');
setcookie('password', $mypassword, time()+3600*168, '/');
}
else {
setcookie('username', "", time()-3600, '/');
setcookie('password', "", time()-3600, '/');
}
header("location:admin.php");

}

else if($count==1 && $row['role'] == "Superadmin"){
session_register("myusername");
session_register("mypassword");
$_SESSION['user'] = $myusername;
$_SESSION['name'] = $row['name'];
// Remember login if checked
if (isset($_POST["remember"])) {
setcookie('username', $myusername, time()+3600*168, '/');
setcookie('password', $mypassword, time()+3600*168, '/');
}
else {
setcookie('username', "", time()-3600, '/');
setcookie('password', "", time()-3600, '/');
}
header("location:super.php");

}
?>



20 svar postet i denne tråd vises herunder
11 indlæg har modtaget i alt 25 karma
Sorter efter stemmer Sorter efter dato

syntax error, unexpected T_VARIABLE in /home/gardfvex/public_html/supernu.php on line 9


uden at kende din code er det svært at svare, men hvad står der på linje 7-12 i filen supernu.php




nu skriver den dette her

Notice: Undefined index: myusername in /home/gardfvex/public_html/check_login.php on line 27

Notice: Undefined index: mypassword in /home/gardfvex/public_html/check_login.php on line 28

Notice: Undefined variable: row in /home/gardfvex/public_html/check_login.php on line 41

Notice: Undefined variable: row in /home/gardfvex/public_html/check_login.php on line 59



Indlæg senest redigeret d. 03.12.2014 14:30 af Bruger #16975
her er hvor man indtaster

<form name="form1" method="post" action="Login//check_login.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1"
bgcolor="#FFFFFF">
<tr>

</tr>
<tr>
<td width="78">Support nr</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"/>
</td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"/></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"/></td>
</tr>
</table>

</div>

</form>



hvordan give rjeg disse credits




Arh, kan det være
session_register("myusername");
session_register("mypassword");
$_SESSION['user'] = $myusername;
$_SESSION['name'] = $row['name'];


Session register er deprecated antaget at du kører php 5.5 eller højere: http://php.net/manual/en/function.session-register.php

Du kan i stedet bare fjern register og bruge følgende:

$_SESSION['user'] = $myusername;
$_SESSION['name'] = $row['name'];

Og husk at give Ronny lidt credit for hans hjælp ;)


nu skriver den kun det her


Notice: Undefined variable: row in /home/gardfvex/public_html/check_login.php on line 38

Notice: Undefined variable: row in /home/gardfvex/public_html/check_login.php on line 54



hvor indsætter det ronny



kig på eks 1 http://php.net/manual/en/function.mysql-fetch-assoc.php


$sql = "SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);

og så er der vel ikke nogle grund til at teste om count er lig med 1 flere gange

nåde ala dette
jeg har omdøbt din role til role_id
(utested)
Fold kodeboks ind/udKode 


forslag til base
(utested)
Fold kodeboks ind/udKode 


tilføjet
dersom der havde været flere rækker der skulle hentes ud skulle fetch_assoc selvføgelig være i en while løkke som der også er vist i eks 1 på php.net



nu skriver den dette
Notice: Undefined index: role_id in /home/gardfvex/public_html/check_login.php on line 39

Notice: Undefined index: role_id in /home/gardfvex/public_html/check_login.php on line 54



det virker nu

[code lang="min cheak boks til opret "]$id = mysql_real_escape_string($_POST['id']);
$name = mysql_real_escape_string($_POST['name']);
$username = mysql_real_escape_string($_POST['username']);
$role_id = mysql_real_escape_string($_POST['role_id']);
$password = mysql_real_escape_string($_POST['password']);

$test = mysql_query("SELECT * FROM tbl_udv WHERE username='$username'");

if(mysql_num_rows($test) == 0) {
$rand = rand(100000,900000);

$result = mysql_query("INSERT INTO tbl_udv (username,password,role_id,name) VALUES ('$username','$password','$role_id','$name')");




$result = mysql_query("UPDATE login SET name='$name', username='$username', password='$password', role='$role_id' WHERE id='$id'")or die (mysql_error());

header("Location:222.php");
}

?>[/code]



Fold kodeboks ind/udKode 




nu skriver den sådan Parse error: syntax error, unexpected T_VARIABLE in /home/gardfvex/public_html/supernu.php on line 9



stadig problemmer



<< < 12 > >>
t