Sorry ..
Hatte das zuerst drin, dann gab es aber keinen Fehler mehr.
Als ich es ausprobiert habe war ich unzufrieden und habe es nochmal geschrieben und vergessen.
Danke
Sorry ..
Hatte das zuerst drin, dann gab es aber keinen Fehler mehr.
Als ich es ausprobiert habe war ich unzufrieden und habe es nochmal geschrieben und vergessen.
Danke
Hey
meine Usersuche funktioniert nicht so, wie ich es gerne hätte ..
Die User suche ist folgendermaßen aufgebaut:
Eingabe -> Prüfen ob es eine Zahl ist -> Wenn ja prüfen ob ID(Zahl) vorhanden ist -> Wenn ja -> Direkt umleiten ENDE -> Wenn nicht vorhanden -> Fehlermeldung 'Keinen User gefunden' ...
... -> Wenn es keine Zahl ist -> Aus der DB die ID vom USER selectieren -> Wenn eine ID gefunden direkt umleiten ENDE ->
Wenn mehrere IDs gefunden wurden -> Ausgabe mit while() ENDE -> Wenn keine ID gefunden wurde -> Fehlermeldung 'Keinen User gefunden'
Es gibt die Möglichkeit nach ID, Mail, Namen oder Nachnamen zu suchen.
Daher prüfe ich zuerst ob es eine Zahl ist oder nicht.
Nun zu meinem Problem:
Egal welchen User ich suche, es wird nie einer gefunden, auch wenn er eigentlich existiert.
Warum ? Wo liegt mein Fehler in der Logik ?
Wäre sehr nett, wenn mir jemand einen kleinen Denkanstoß oder einen Lösungsvorschlag geben würden.
Hier meine Syntax:
<?php
$db = mysql_connect($host, $user, $gateway, true) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
session_start();
$logincheck = $_SESSION['logincheck'];
if ($logincheck == 'successful') {
$loginuser = $_SESSION['loginmail'];
$slcu = mysql_query("SELECT `id` FROM `member` WHERE `mail`='".mysql_real_escape_string($loginuser)."'", $db) or die (mysql_error());
$user = mysql_fetch_assoc($slcu);
$utis = $_POST['where'];
if (empty($utis)) {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Bitte ID, Mail, Vor- oder Nachnamen angeben.';
}
else {
if (is_int($utis)) {
$true = mysql_query("SELECT `mail` FROM `member` WHERE `id`='".mysql_real_escape_string($utis)."'", $db) or die (mysql_error());
if (mysql_num_rows($true) == 1) {
header('Location: /./user/index.php?id='.$utis.'');
}
else {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Keinen User gefunden.';
}
}
else {
$mysql = mysql_query("SELECT `id` FROM `member` WHERE ((`name`='".mysql_real_escape_string($utis)."') OR (`lastname`='".mysql_real_escape_string($utis)."') OR (`mail`='".mysql_real_escape_string($utis)."'))", $db) or die (mysql_error());
$id = mysql_fetch_assoc($mysql);
if (mysql_num_rows($id) == 1) {
header('Location: /./user/index.php?id='.$id['id'].'');
}
else if (1 < mysql_num_rows($id)) { ?>
<html>
<body>
<table class="table"> <?php
while($moreuser = mysql_fetch_assoc($mysql)) { ?>
<tr>
<td class="id"><?php echo $moreuser['id']; ?></td>
<td class="link"><a href="/./user/index.php?id=<?php echo $moreuser['id'];?>">Profil besuchen </a></td>
<td class="other"><?php echo $usernamne; ?></td>
<td class="other"><?php echo $userlname; ?></td>
<td>BILD</td>
</tr>
<?php } ?>
</table>
</body>
</html>
<?php
}
else {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Keinen User gefunden.';
}
}
}
}
else {
header('Location: /./index.php');
$_SESSION['loginreport'] = 'Du musst eingeloggt sein.';
}
?>
Alles anzeigen
Liebe Grüße
Tim
Eine Hintergrundgrafik per CSS am Ende des Menues platzieren per background-position ?
lg
Wie viele verschiedene Seiten soll es denn geben ?
Auf welche Sprache sollte das Layout geschrieben werden (Bsp: CSS) ?
Nur das Layout oder auch die Homepage ?
Eine ungefähre Angabe einer Eintlohnung wäre sehr vorteilhaft.
Informiere dich wie viel etwas ungefährt kosten würde und erstelle einen Kostenvoranschlag für dich selber
Würde dir auch helfen wenn Interesse besteht.
Liebe Grüße
Gut jetzt klappts.
Vielen Dank
Das merk ich mir! :p
Leider genau das gleiche wie bei mir gewesen war.
Ergebnis: 'Noch nicht befreundet'
Einträge in der DB: 0
Ist eigentlich so aufgebaut das das Chema wie folgt weiter läuft
sagen wir USER 1 ist mit USER 2,3,4 befreundet und USER 2 mit 4,5 würde das so aussehen:
[TABLE='width: 500, align: center']
[tr][td]userone
[/td][td]usertwo
[/td][td]status
[/td][/tr][tr][td]USER 1
[/td][td]USER 2
[/td][td]2
[/td][/tr][tr][td]USER 1
[/td][td]USER 3
[/td][td]2
[/td][/tr][tr][td]USER 1
[/td][td]USER 4
[/td][td]2
[/td][/tr][tr][td]USER 2
[/td][td]USER 4
[/td][td]2
[/td][/tr][tr][td]USER 2
[/td][td]USER 5
[/td][td]2
[/td][/tr]
[/TABLE]
kein `userthree`
Desswegen will ich ja auch sozusagen mysql_num_rows oder COUNT anwenden mit der WHERE.
Dachte das erschließt sich
Hey Leute,
ich versuche derzeit ein Freundschaftssystem mit MySQL zu basteln ..
Wenn der USER 1 beim USER 2 auf "Freundschaft" klickt,
so sollen in die Datenbank bei userone 1 und bei usertw 2 und der status 1 rein.
Nach der Bestätigung von USER 2 soll der Status auf 2 sein.
Nun habe ich jedoch ein Problem.
Ich möchte prüfen ob die Mitglieder bereits befreundet sind.
Wenn sie bereits befreundet sind sollen neue Freundschaftsanfragen von den gleichen Usern natürlich nicht zulässig sein.
Ebenso soll der Profilinhalt erst angezeigt werden, sobald USER 1 und USER 2 eine eingetragene Freundschafts mit dem Status 2 führen ..
Ich habe sogut wie alles versucht was mir dazu einfällt..
Ich habe es mit
$slcfriends = mysql_query("SELECT COUNT FROM `friends` WHERE `userone`='".$id."' AND `usertwo`='".$userid['id']."' AND `status`='2'", $db);
$slcswitch = mysql_query("SELECT COUNT FROM `friends` WHERE `userone`='".$userid['id']."' AND `usertwo`='".$id."' AND `status`='2'", $db);
$checkr = mysql_fetch_assoc($slcfriends);
$checks = mysql_fetch_assoc($slcswitch);
if (($checkr != '0') OR ($checks != '0')) {
echo 'profilzeigen / keine neuen möglichen freundeseinladungen';
}
else {
echo 'nicht befreundet';
}
probiert. Funktioniert nicht.
warum ich bei den WHERE-Klauseleln die Variablen escaped habe liegt daran,
wenn ich es nicht getan habe bekam ich eine fehlermeldung das die variablen falsch escaped wurden .. :s
dann habe ich es auch noch so probiert:
$slccheck = mysql_query("SELECT `userone`, `usertwo` FROM `friends`", $db);
$check = mysql_fetch_assoc($slccheck);
if (($check['userone'] == $id) AND ($check['usertwo'] == $userid['id']) OR ($check['usertwo'] == $id) AND ($check['userone'] == $userid['id'])) {
echo 'Bereits befreundet.';
}
else {
$inserrequest = mysql_query("INSERT INTO `friends`(`userone`, `usertwo`, `status`) VALUES ('".$id."', '".$user['id']."', 1)", $db) or die (mysql_error());
header('Location: /./user/index.php?id='.$id.'');
}
Wer kann mir helfen ?
Auch mysql_num_rows() habe ich nicht ausgelassen und ich habe jeweils alle Varianten durchgeschaut.
Die Datenbankverbindung stimmt auch und wenn ich mit jemanden befreundet bin und dann nochmal neu einlade
wird der eintrag nocheinmal vorgenommen oder es steht von vorne rein dort das ich bereits mit dem user befreundet bin.
Ich weiß nicht mehr weiter :s
Wäre lieb wenn mir jemand einen kleinen Denkanstoß gibt. . :s
Eine einfache HP erstellen dir MANCHE vielleicht kostenfrei,
ein Forum jedoch wird keiner für dich ohne Gegenleistung programmieren.
Versuch es doch mit dem WBBLite. Das kannst du Downloaden und in einem Ordner wie /forum
auf dein Webspace laden. Oder die kostenlosen Foren mit einem externen Link (Google).
Mit der CSS-Anweisung
sollte man das hinbekommen.
Per font-family gibst du ja dann Margaret ein.
Wenn die Definition nun für Margaret sagen wir Klein ist von der Schriftgröße her
machst du einfach per font-size die Schrift größer.
Im übrigen gibt CSS keine Größe für Schriften vor sondern HTML.
Wenn du keine mit angibst so ist die Schriftgöße 100% identisch mit der Schrift von HTML.
Kannst also auch in Prozenten hochrechnen die Schriftgröße.
Hoffe ich hab dich richtig verstanden und konnte dir helfen
Ok danke für die Hinweise und Ratschläge und eure Mühen mit mir
Ich werd mich informieren wie ich Sicherheitslücken schließe
Danke danke
Ok ich würde sie als kleine Anfängerfehler bezeichnen wenn es dich nicht stört ? :s
Danke für die Tipps.
Aber wäre das Schema für die Profile so nun korrekt ?
Es gibt keine doppelten Selects oder Updates Sind alles für verschiedene Spalten die ich einzelnd brauche.
Aber das geht auch mit $row, ich weiß aber ich wollt erstmal so halten :s
Richtig oder Falsch ?
Ok ich hoffe ich habs jetzt richtig :s
login.php (formulareingabe wird überprüft + weiterleitung):
<?php
$host = "";
$name = "";
$user = "";
$gateway = "";
session_start();
$db=mysql_connect($host, $user, $gateway) or die(mysql_error());
mysql_select_db($name) or die(mysql_error());
$member = $_POST['user'];
$pw = $_POST['pwcheck'];
$sql = mysql_query("SELECT * FROM `member` WHERE `mail`='$member' AND `password`='$pw' AND `status`='ok' LIMIT 1", $db);
$found = mysql_num_rows($sql);
$id = mysql_query("SELECT `id` FROM `member` WHERE `mail`='$member' AND `password`='$pw' AND `status`='ok'", $db);
$hmlogin = mysql_query("SELECT `logins` FROM `profildata` WHERE `membermail`='$member'", $db);
$fornew = 1;
$new = $hmlogin+$fornew;
if ($found == 1) {
$login = 'successful';
$fazit = 'User';
$update = mysql_query("UPDATE `member` SET `lastlogin`=NOW() WHERE `mail`='$member' AND `password`='$pw'", $db);
$onstatus = mysql_query("UPDATE `member` SET `onoff`=1 WHERE `mail`='$member' AND `password`='$pw'", $db);
$plus = mysql_query("UPDATE `profildata` SET `logins`='$new' WHERE `membermail`='$member'", $db);
while($row = mysql_fetch_assoc($id))
header('Location: /./user/index.php?id='.$row['id'].);
}
else {
$login = 'dienied';
$fazit = 'Gast';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Willkommen bei NAME</title>
<link href="/./style/layout.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="holdingagainlogin"></div>
<div id="holder">
<div id="dienied">
<h1><?php echo $fazit; ?></h1>
Login: <?php echo $login; ?><br>
<br>
Versuche es erneut.<br>
<br>
Passwort vergessen ?<br>
Lasse dir das Passwort neu zuschicken.<br>
<a href="pwback.php">hier.</a>
</div>
<div id="again">
<h1>Login:</h1><br>
<form method="post" action="login.php"><input type="text" name="user" class="right"><br>
<input type="password" name="pwcheck" class="right"><br><br>
<input type="submit" value="Anmelden" class="right"></form>
<br>
<a href="/./">Zurück</a>
</div>
</div>
</body>
</html>
<?php
}
$_SESSION['titel'] = $faizt;
$_SESSION['logincheck'] = $login;
$_SESSION['loginmail'] = $member;
$_SESSION['loginpw'] = $pw;
?>
Alles anzeigen
index.php (im ordner "user"):
<?php
if (($_SESSION['logincheck'] == 'dienied') OR (!isset($_SESSION['logincheck']))) {
echo 'Du musst eingeloggt sein.';
}
else if ($_SESSION['logincheck'] == 'successful') {
$id = mysql_real_escape_string($_GET['id']);
}
?>
Und dann alles was ich ausgeben will normal selectieren mit
?
Nach deinem Beispiel wird man ja auf die profil.php weitergeleitet..
Und dort werden dann die Informationen aus der Datenbank gelesen.. Ok
Aber das kann ich ja auch schon ..
Ich möchte ja jedem User der sich registriert sein eigenes Profil geben,
damit auch andere User deren Profil aufrufen können.
Ruft Peter also profil.php auf so findet er seine Infos.
Will er auf das Profil von Susanne gehen sieht er das ja nicht weil nur die eignen Daten kommen ..
Ehm ich hab Session mit drin ...
Und überall wird auch abgefragt ob der Benutzter eingeloggt ist oder nicht.
Ich möchte eigentlich nur erklärt haben, wie ich das genau machen muss..
Ich hätte es jetzt so gemacht:
Loginformlar (method=get) auf index.php
Nach submit wird man auf die login.php weitergeleitet, wo geprüft wird ob alles korrekt ist.
Von dort soll man direkt auf sein eigenes Benutzterprofil weitergeleitet werden.
Das Profil ist die index.php im Ordner "user".
Damit selectiere ich die ID:
$id = mysql_query("SELECT `id` FROM `member` WHERE `mail`='$member' AND `password`='$pw' AND `status`='ok'", $db);
Und die Weiterleitung:
richtig soweit oder falsch ?
Und wie kriege ich das jetzt nun hin, dass wenn man die index.php?id=ID im Ordner "user" aufruft, die gewünschten Informationen über den Benutzter erscheinen ..
Mit $_GET dann die ID aus der URL ziehen und die Informationen aus der Datenbank selectieren oder wie ?
Und wie ziehe ich die ID aus der URL ?
Nicht direkt ..
Ich will ja das jeder User per URL mit seiner ID sozusagen angesprochen wird.
Peter hat ID 10 also http://www.domain.de/user/index.php?10
Susanne hat ID 11 also http://www.domain.de/user/index.php?11
Wie kriege ich das nun hin wenn sich jemand einloggt (auf der login.php wird das Formular ausgewertet ..)
und bei Erfolg soll der Benutzer direkt auf http://www.domain.de./user/index.php?SEINEID weitergeleitet werden.
Also die index.php soll ein Profil darstellen und durch die URL soll sich jedes Profil halt sozusagen den Informationen aus der Datenbank anpassen wie Alter, Name usw.
Ich kann das leider nicht genau erklären, da ich mich mit $_GET noch nicht beschäftigt habe ..
oder wie ? :s
Und dann index.php als normales Profil gestalten und Informationen ausgeben lassen indem man abfragt welche ID "$_GET" besitzt und dann die Informationen von der Zeile auslesen lässt ?
Ich habe sehr lange gegooglet und immer nur Probleme von Leuten gefunden die etwas falsches im Script hatten und immer verschiedene Scripts desswegen hatte ich jetzt hier höflich nach einem Tut dafür gefragt.
Was GET mit einem Benutzterprofil zu tun hat .. Nichts, habe ich auch nicht behauptet,
ZitatAlso ich möchte die ID vom Benutzter aus einer Datenbank auslesen
und diese dann als Link verwenden.
Hab von Tobse einen Link bekommen, danke an dieser Stelle
Und Dokus habe ich 1 Video auf YouTube gefunden...
27 Minuten wird man dort belastet mit einer mikroleisen Stimme und mehr Vistafehlermeldungen als alles andere.
Da lern ich auch nichts von.
Grundlagen von PHP hab ich mittlerweile RELLATIV gut drauf.
Das Gröbste aufjeden
Ich nutzte Opera, dort scrollt das Suche-Element mit.
___
Verstehe ich jetzt nicht ganz.
Du willst deine Suchfunktionions-Element doch oben rechts in der Ecke haben oder ?
Ohne das es mitscrollt..!?
Wenn du sagen wir mal ein Content-Element hast was folgende Werte hat:
#content {
margin-top: 100px;
margin-left: auto;
margin-right: auto;
float: center;
width: 500px;
height: 500px;
}
und ein suchelement:
und das in deiner html datei folgendermaßen einfügst:
Müsste es funktionieren .. Habs aber grad nicht ausprobiert ..
Ok also wenn ich das richtig verstehe soll dein component-Element dein such-Element umfassen
und oben rechts bleiben auch wenn im content-Element gescrollt wird !?
Wie wäre es wenn du dein such-Element in den content Bereich schiebst mit
dann müsste es funktionieren ...
Zitatich will, dass das search div sozusagen mit scrollt...
"Suche" scrollt bei mir immer mit
Hey,
versuch es mal mit "position: absolute;"
So bleibt dein Element immer da wo du es hingesetzt hast.
lg