query fout.. maar wat is er fout?

Status
Niet open voor verdere reacties.

netvlieg

Gebruiker
Lid geworden
2 jan 2003
Berichten
45
PHP:
<?

$host = "localhost";
$user = "wannacha";
$pass = "*******";
$db = "wannachatdb";

mysql_connect($host,$user,$pass);
mysql_select_db($db);

$query = "SELECT id FROM profiel_leden WHERE gebruikersnaam = '" . $_SERVER["REQUEST_URI"] . "'";
$result = @mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
if(mysql_num_rows($result) == 0){
die("Geen rijen gevonden !");
}else{
$id = $rij->id;
}
header("Location: [url]http://www.wampa.nl/?p=l/profiel&id=[/url]$id"); 
?>

Dat is wat er nu bovenaan mijn 404 error pagina staat.. nou wat is hier de functie van? Als er www.wampa.nl/gebruikersnaam wordt ingetikt ziet hij dit normaal gesproken als map en aangezien hij deze map niet kan vinden gaat hij naar die 404 pagina waarna bovenstaand script de ingetikte gebruikersnaam omzet naar een id nummer en deze vervolgens via een header doorstuurt naar het profiel die bij de pagina hoort.. Maar nu is het probleem dat ik de error "geen rijen gevonden !" krijg, dit houd dus in dat er iets fout is met de query, maar ik zou niet weten wat.. Hopelijk kan hier iemand mij helpen? (Oja voor ik het vergeet mijn htaccess is wel goed ingesteld ;))

Alvast Bedankt! :)

Groeten,
Lars
 
Laatst bewerkt:
Doe eens echo $_SERVER["REQUEST_URI"], zie je dan wel wat?

Ik doe zelf btw altijd $_SERVER['...'] met ' ' ipv " ".. zal vast geen verschil maken :)
 
Euhm waar moet ik die echo dan plaatsen in diezelfde file en zoja waar dan? of in een aparte file? :o
 
Gewoon in dezelfde file.

Moet niet uitmaken waar je het plaatst, ik doe het altijd gewoon bovenaan.
 
Geplaatst door BrEeZeR
Ik doe zelf btw altijd $_SERVER['...'] met ' ' ipv " ".. zal vast geen verschil maken :)
Jouw manier is sneller :)
PHP:
$blaat = 'oogabooga';
echo 'blaat $blaat blaat';
Dat geeft
blaat $blaat blaat
Terwijl
PHP:
$blaat = 'oogabooga';
echo "blaat $blaat blaat";
blaat oogabooga blaat
geeft ;)
Met enkele quotes is sneller, doordat hij dan niet hoeft te controleren op variabelen, hij print de zooi gewoon.

@netvlieg: waar je 't moet plaatsen, gewoon -ergens- in 't bestand waarvan je weet dat 't dan op 't scherm getoond wordt. Dus:
PHP:
if("4" == "28")
{
echo $_SERVER["REQUEST_URI"];
}
niet zo :rolleyes::p
 
PHP:
<? 

echo $_SERVER["REQUEST_URI"];

$host = "localhost"; 
$user = "wannacha"; 
$pass = "******"; 
$db = "wannachatdb"; 

mysql_connect($host,$user,$pass); 
mysql_select_db($db); 

$query = "SELECT id FROM profiel_leden WHERE gebruikersnaam = '" . $_SERVER["REQUEST_URI"] . "'"; 
$result = @mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error()); 
if(mysql_num_rows($result) == 0){ 
die("Geen rijen gevonden !"); 
}else{ 
$id = $rij->id; 
header("Location: [url]http://www.wampa.nl/?p=l/profiel&id=[/url]$id"); 
} 
?>  


<html>
<head>
<title>Wampa Profielen Site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
Wampa.nl 404 error

</body>
</html>
<? ob_end_flush(); ?>

Geeft niet "Geen rijen gevonden" maar geeft:
/404.phpGeen rijen gevonden !
 
Laatst bewerkt:
$_SERVER["REQUEST_URI"] bevat dus niet de gebruikersnaam, maar '/404.php' ... zoals ik in de chat al zei, REQUEST_URI is best wel nutteloos ;)
Oplossing: andere manier verzinnen voor het doorgeven van de gebruikersnaam :)
 
Aangezien ik niet zo'n super expert ben in php zou ik niet weten hoe.. jij mischien wel? :o
 
Mogelijkheden zat:
- Sessies
- Cookies
- GET <== die zou ik doen, header("Location: index.php?username=...")
- POST
- HTTP Headers (wat bij jou niet echt werkte :p)
 
Zou je dan mischien het script zoals ik het hierboven het gepost kunnen posten zoals het moet worden dan? :o

Alvast heel erg bedankt!!!
 
Je vraagt wel veel, maar vooruit ... :rolleyes:
PHP:
<? 
$host = "localhost"; 
$user = "wannacha"; 
$pass = "********"; // daar heb ik maar ff sterretjes van gemaakt :P
$db = "wannachatdb"; 

$connect = mysql_connect($host,$user,$pass) or die("Kon geen verbinding maken met MySQL Server: " . mysql_error()); 
mysql_select_db($db,$connect) or die("Kon database niet selecteren: " . mysql_error());
  if(isset($_GET["gebruikersnaam"]) == FALSE)
  {
  die("Geen gebruikersnaam gespecificeerd");
  }

  if(get_magic_quotes_gpc() == FALSE)
  {
  $gebruikersnaam = addslashes($_GET["gebruikersnaam"]);
  }
  else
  {
  $gebruikersnaam = $_GET["gebruikersnaam"];
  }
$query = "SELECT id FROM profiel_leden WHERE gebruikersnaam = '" . $gebruikersnaam . "' LIMIT 0,1"; 
$result = mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error()); 
  if(mysql_num_rows($result) == 0)
  { 
  die("Geen geldige gebruikersnaam gespecificeerd !"); 
  }
  else
  { 
  $rij = mysql_fetch_object($result);
  @header("Location: http://www.wampa.nl/?p=l/profiel&id=" . $rij->id); 
  die("Niet prutsen");
  } 
?>  


<html>
<head>
<title>Wampa Profielen Site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
Wampa.nl 404 error

</body>
</html>
<? ob_end_flush(); ?>
Zoiets ... :)

// Edit: automatische tags ff uitgezet ...
 
Laatst bewerkt:
Sorry dat ik zoveel vraag, maar jij bent nog m'n enige hoop zijn maar weinig mensen die dit weten en op phpfreakz geven ze niet eens een reactie.. :(

Ik krijg nu de error: Geen gebruikersnaam gespecificeerd
 
phpfreakz bestaat voor 90% uit n00bs, de hele script library daar bestaat uit scripts die door amateurs zijn gepost, ikzelf heb er -ooit- ook eens -iets- gepost ... :D
Ik zou daar ook niet meer om hulp vragen, meeste reacties zijn nutteloos, kom dan maar naar helpmij.nl :cool:
Als voor de error: da's geen error, da's een melding. Je redirect www.jouwdomein.nl/gebruikersnaam naar ditscript.php?gebruikersnaam=...
Dus als je naar index.php?gebruikersnaam=blaat of index.php?gebruikersnaam=netvlieg gaat, dan zal 't script verdergaan :)
 
btw, ik wil niet pesten maar is de query zelf niet fout? :o

PHP:
$query = "SELECT id FROM profiel_leden WHERE gebruikersnaam = '" . $gebruikersnaam . "' LIMIT 0,1";
moet dat niet

PHP:
$query = "SELECT [b]* FROM[/b] id FROM profiel_leden WHERE gebruikersnaam = '" . $gebruikersnaam . "' LIMIT 0,1";

zijn? :o
 
Je mag best pesten, maar doe 't dan wel goed, want wat jij zegt is namelijk niet zo ;)

Syntax van een simpele SELECT query:
SELECT [kolommen] FROM [tabel]
met eventueel een WHERE / ORDER BY / GROUP BY / LIMIT erbij ... als je alle kolommen wil selecteren gebruik je *:
Code:
SELECT * FROM tabelnaam
, terwijl als je kolom 'blaat' en 'dinkie' wil selecteren:
Code:
SELECT blaat,dinkie FROM tabelnaam
Wat jij post is alle kolommen selecteren van tabel id van tabel profiel_leden ... waar dus niets van klopt ;)
Waarom dan maar 1 kolomnaam ipv alle kolommen ? Alle kolommen selecteren neemt meer tijd in beslag dan enkele kolommen ... en als je de rest toch niet gebruikt, waarom dan wel opvragen ? ;)
 
Oh oke... (weet ik veel, word mij toch nooit wat verteld :p)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan