WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Kontrolle machen? » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Kontrolle machen?
von hammel
Ich möchte ganz einfach dass wenn $gegener (ich weiß es ist falsch geschrieben) kein Username ist. Soll eine Fehlermeldung kommen also so:

1: 
2: 
3:
<?php if ($gegener != $uid)
    echo "<Script>alert('Fehler! Dies könnten die Gründe sein: Sie versuchen gegen sich selbst zu kämpfen. Den User den sie ausgewählt haben gibt es nicht.')</script>
                  <Script>history.back(-2)</script>"; ?>


Doch hier im Code wird nur kontrolliert ob $gegener der Username des Users ist, der gerade auf der Seite ist.
von raiserle
da bleibt trotzdem immer noch die frage, was genau willst du denn machen
von hammel
Ja mach ich auch, doch ich sollte einem Freund helfen, und jetzt mach ich mehr als er. Jetzt fehlt nur noch eine Seite und dieser Code, dann ist unser Projekt fertig. Könnt ihr mir bitte noch ein mal helfen, dann habt ihr eure Ruhe :P
von raiserle
grundlagen der programmierung sollte man schon besitzen ....
egal welche sprache

und nun kommts wieder, jaja....
programmieren beginnt nicht damit, irgendwelchen sourcecode per tastatur
zu hacken
vielmehr sollte man sich einen schönen, weißen zettel nehmen, und dort erstmal problem-zielstellung hinkritzeln, sodass auch ein anderer, wenn er es liest, weis was du da coden willst.
danach sollten die ersten schritte sein, einzelzielstellungen auszuabeiten, functionen auszuarbeiten --> nerv nerv... struktogramme
großartiges hilfsmittel sollte strukted sein

wenn du das machst, sollte das programmieren von solchen labidaren sachen auch kein
problemmehr für dich darstellen
von hammel
Aber jetzt könnten die User auch Usernamen angeben die es nicht gibt. Und das will ich verhindern, ich weiß nur nicht wie.
von raiserle
sorry, aber soll das hier ein tutorial werden?
das was du hier wissen willst, sind grundlagen!
du solltest vielleicht mal ein büchlein lesen, tutorials angucken, oder es sein lassen.

languitar hat dir es doch einwandfrei erklärt, ($_SESSION)

das script macht ja oben schon keinen sinn ??

du machst erst einen logincheck();
und dann
db_connect();
klar das geht bestimmt schon, wenn man das login nur in der session speichert
und nicht mit der mysql validiert... eher aber kein gutes login

if ($gegener == $uid) {
$uid = $_SESSION['uid'];
$gegener = $_POST['gegener'];

was soll das denn darstellen, es ergibt keinen sinn
wenn der gegner gleich uid ist soll was ausgeführt werden???
languitar hats ja schon angesprochen ;)
1. register_globals off wird das 100% nicht gehen da $gegner das selbe ist wie $_POST['gegner'] zumindest denk ich das mal, das du es so vor hattest
2. die if sollte dann vielleicht so aussehn, weil du willst sicherlich verhindern, das sich ein benutzer selbst rausfordert
1: 
2: 
3: 
4: 
5:
<?php
if($_POST['gegner']!=$uid){

}
?>
von hammel
Und wohin muss ich das denn schreiben?
von languitar
Nutz nächsts mal bitte den Code-Tag. Hab ich jetzt eignebaut.

Erst mal macht die Tabellenstruktur meiner Meinung nach wenig sind. Warum hast du zwei IDs? Du kannst doch id viel besser zur Identifikation benutzen.

Und die Abfrage da an sich macht gar keinen Sinn. Du fragst etwas ab, was du nachher erst setzt, wenn vorher in der main.php nicht schon etwas mit $uid passiert ist, was man hier nicht erkennen kann.

Wenn du überprüfen willst, ob $_SESSION[uid'] existiert, kannst du einfach nen SELECT auf deine Tabelle losjagen, mit WHERE uid = $SESSION['uid'] und gucken, ob du nen Datensatz bekommst. Gibt bestimmt auch noch ne schönere Lösung, aber ich hab gerade keine Lust noch ins MySQL-Hanbuch zu gucken.
von hammel
Hier ist der ganze Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36:
<?php

session_start();

include('../main.php');

logincheck();

db_connect();



        if ($gegener == $uid) {
    $uid = $_SESSION['uid'];
    $gegener   = $_POST['gegener'];

{   

	$sql="UPDATE users SET gegener='$gegener' WHERE uid='$uid'";
	$result = mysql_query($sql) or die("Fehler!");
}	;
} else {
    echo "<Script>alert('Fehler! Dies könnten die Gründe sein: Sie versuchen gegen sich selbst zu kämpfen. Den User den sie ausgewählt haben gibt es nicht.')</script>";
}
		
db_disconnect();
if (isset($result))
{
	header("Location: ".KAEMPFEN_HREF);
}
else
{
	echo "<Script>history.back(-1)</script>";
}

?>


Hier ist die Tabelle users

von languitar
Das kann kein Mensch verstehen. $uid kann ein Array sein, dann bräuchte man die Schlüssel. Wenns nur eine ID beinhaltet, frag ich mich, wie da mehrere Benutzer drin sein sollen etc.
von hammel
In der Tabelle users in $uid.
von languitar
Du solltest die Fragen auch irgendwie so stellen, dass sie ein Außenstehender verstehen kann...
Das ganze heißt If-Abfrage und nicht Kontrolle.
Zur Frage: Man müsste wissen, wo und wie du deine User gespeichert hast.
von hammel
Mit der Kontolle stimmt was nicht. Ich wollte dass kontrolliert wird ob es den User gibt. Doch wenn ich so mache,

if ($gegener == $uid) {
$uid = $_SESSION['uid'];
$gegener = $_POST['gegener'];

wird nur der Username der Users der die Kontrolle macht kontrolliert.
von hammel
Hab die Lösung gestern noch gefunden. Sorry wegen der dummen Frage.
von languitar
Mensch, ein bisschen mehr Eigenarbeit kann nicht schaden...

http://php.net/echo
von hammel
Danke Und wie kann ich z.B. doe $punkte von einem bestimmten User z.B. user1 ausgeben?
von progrookie
1: 
2: 
3: 
4: 
5: 
6:
if($gegner==$uid)
{
  // ...Rest deines Codes
}
von hammel
Wie kann ich kontrolieren dass der Inhalt von $gegner in $uid sein muss?

Nach oben