[SAMMELTHREAD] Kleine Coding Fragen


  • @'HydranT_'


    Hallo, dieser Fehler tritt auf, wenn du eine Seite aufrufst und diese Seite die Post-Variabele ausgeben will, sie aber keinen Wert besitzt.


    Dieses Fehlermeldung kannst du ausblenden indem du ein 'at' => ' @' Zeichen davor Schreibst.


    PHP
    echo @$_POST["username"];



    Edit:


    In dem Sinne ist es kein Fehler sonder eine Meldung die dir Zeigt, das diese Variabele nicht Genutzt wird oder keinen Wert zugewiesen bekommen hat.


    MfG
    SLaYz

  • Hallo, dieser Fehler tritt auf, wenn du eine Seite aufrufst und diese Seite die Post-Variabele ausgeben will, sie aber keinen Wert besitzt.


    Das war mir vorher schon klar. Nur dass dieser Fehler kommt, wundert mich. Ich gebe in dem Input Feld ja was ein, doch es zeigt in dem PHP Skript nicht das an, was ich eingegeben habe.


    #Edit: Verbessert

    Einmal editiert, zuletzt von datgame ()

  • Hey,
    ich hab ein kleines Problem. Ich übergebe eine Variable "$id" zu einer nächsten Seite, lasse sogar die Variable per Echo ausgeben, welche auch richtig ist und möchte sie dann in einer Query updaten.
    Wenn ich das tue, updatet es einfach nicht. Es kommt keine Fehlermeldung per errorausgabe, nichts. Wenn ich die Variable selbst eingebe, dann klappt alles, aber so nicht. Vielleicht kann mir hier einer helfen, wird bestimmt sowieso wieder irgendeine Kleinigkeit sein


    PHP
    $giveID = $_POST['giveID'];
    $query3 = "UPDATE News SET headline='$headline', description='$beschreibung1', text='$text' WHERE id='$giveID'";
    $ergebnis = mysql_query($query3) or die(mysql_error());
  • Übergibst du es über ein Formular über als Query Link?
    Wenn es letzteres ist musst du mit dem $_GET Statement arbeiten.
    Und Escape mal deine Strings.


    Ich übergebe es über ein Formular. Ich kann ja sogar die Variable ausgeben. Wird ja alles richtig angezeigt, außer halt das ändern in der Datenbank.


    //EDIT: Also habs jetzt hinbekommen. Ich weiß nicht woran es lag, habs aber jetzt mit einem GET gemacht und nem Link, der bei der Aktion wieder auf die ID verweist und jetzt funktioniert es ;)
    Danke dir!

    Einmal editiert, zuletzt von Pall. ()

  • Hallo, ich habe hier ein Login Code erstellt, aber ich werde leider nach dem Login nicht auf eine andere Seite weiter geleitet, sondern die Login Seite wird einfach nur aktualisiert.
    Hier der Code:

    PHP
    <?phpsession_start();$verhalten = 0;if(!isset($_SESSION["username"]) and!isset($_GET["page"])){$verhalten = 0;}if($_GET["page"]=="log"){    $user = $_POST["user"];    $passwort = $_POST["passwort"];if($user == "Lasse" && $passwort == "test"){$_SESSION["username"] = $user;$verhalten = 1;}else{$verhalten = 2;}}?><html><head>    <title>FFW Wermertshausen Intern</title>    <?php    if($verhalten == 1){    ?>    <?php	echo "<meta http-equiv='refresh' content='3; URL=index2.php'>"    }    ?></head><body>    <?php    if($verhalten ==0){    ?>    Bitte logge dich ein:<br />    <form methode ="post" action="index.php?page=log">        Benutzername:<input type="text" name="user"/>        Passwort:<input type="password" name="passwort"/>        <input type="submit" Value="Einloggen"/>    </form>    <?php    }    if($verhalten == 1){    ?>    Du hast dich erfolgreich angemeldet!    <?php    }   if($verhalten == 2){    ?>    Deine Daten stimmen nicht mit denen aus der Datenbank überein!<a href="index.php">zurück</a>.    <?php    }    ?></body></html>


    Ich hoffe ihr könnt mir helfen :)

  • GKNBond:
    Versuchs mal so

    PHP
    <?phpsession_start();$verhalten = 0;if(!isset($_SESSION["username"]) and !isset($_GET["page"])){	$verhalten = 0;}if($_GET["page"]=="log"){    $user = $_POST["user"];    $passwort = $_POST["passwort"];	if($user == "Lasse" && $passwort == "test"){		$_SESSION["username"] = $user;		$verhalten = 1;	}	else{		$verhalten = 2;	}}?><html><head>    <title>FFW Wermertshausen Intern</title>    <?php    if($verhalten == 1){		header("refresh: 3; url=index2.php");    	}    ?></head><body>    <?php    if($verhalten ==0){    ?>		Bitte logge dich ein:<br />		<form methode ="post" action="index.php?page=log">			Benutzername:<input type="text" name="user"/>			Passwort:<input type="password" name="passwort"/>			<input type="submit" Value="Einloggen"/>		</form>    <?php    }    if($verhalten == 1){		echo 'Du hast dich erfolgreich angemeldet!';    }	if($verhalten == 2){		echo 'Deine Daten stimmen nicht mit denen aus der Datenbank überein!<a href="index.php">zurück</a>.';    }    ?></body></html>

  • Hallo, dieser Fehler tritt auf, wenn du eine Seite aufrufst und diese Seite die Post-Variabele ausgeben will, sie aber keinen Wert besitzt.


    Dieses Fehlermeldung kannst du ausblenden indem du ein 'at' => ' @' Zeichen davor Schreibst.


    Das was du da sagst ist ziemlich dämlich. Was bringt es ihn den Fehler auszublenden, dadurch wird die Variable auch nicht bestückt!


  • Das was du da sagst ist ziemlich dämlich. Was bringt es ihn den Fehler auszublenden, dadurch wird die Variable auch nicht bestückt!


    Musst du dich bei jedem scheiß reinhängen?
    Warum sollte es dämlich sein? Sind also "Wahl Inputs" auch dämlich wenn sie nicht ausgefüllt werden?
    Denken, Schreiben 8)

  • Musst du dich bei jedem scheiß reinhängen?
    Warum sollte es dämlich sein? Sind also "Wahl Inputs" auch dämlich wenn sie nicht ausgefüllt werden?
    Denken, Schreiben


    Ja muss ich dir sind wohl anscheinend einige Funktionen in PHP nicht bekannt!


    Anstatt ein Warning mit @ zu unterdrücken kann man mit isset oder empty abfragen ob diese lehr ist, anstatt hier mich genauso anzuschnauzen


    Denken, Schreiben


    Sry aber das ist echt doofFehler zu unterdrücken anstatt zu beheben!


    Edit: Umgangston Edit

    Einmal editiert, zuletzt von ChristianW ()

  • GKNBond:
    Versuchs mal so

    PHP
    <?phpsession_start();$verhalten = 0;if(!isset($_SESSION["username"]) and !isset($_GET["page"])){	$verhalten = 0;}if($_GET["page"]=="log"){    $user = $_POST["user"];    $passwort = $_POST["passwort"];	if($user == "Lasse" && $passwort == "test"){		$_SESSION["username"] = $user;		$verhalten = 1;	}	else{		$verhalten = 2;	}}?><html><head>    <title>FFW Wermertshausen Intern</title>    <?php    if($verhalten == 1){		header("refresh: 3; url=index2.php");    	}    ?></head><body>    <?php    if($verhalten ==0){    ?>		Bitte logge dich ein:<br />		<form methode ="post" action="index.php?page=log">			Benutzername:<input type="text" name="user"/>			Passwort:<input type="password" name="passwort"/>			<input type="submit" Value="Einloggen"/>		</form>    <?php    }    if($verhalten == 1){		echo 'Du hast dich erfolgreich angemeldet!';    }	if($verhalten == 2){		echo 'Deine Daten stimmen nicht mit denen aus der Datenbank überein!<a href="http://forum.sa-mp.de/index.php">zurück</a>.';    }    ?></body></html>


    Das bleibt so, kannst gerne mal hier schauen:
    http://enter.battlefield-deutschland.de/index.php

  • Guten Tag!


    Ich habe ein kleines Problem mit AJAX. Ich benutze es, um User Daten abzugleichen, und wenn sie richtig sind, den User
    weiterzuleiten. Doch das Weiterleiten funktioniert nicht. Wenn ich die richtigen Daten angebe, wird mir ausgegeben, ich hätte die falscehn Daten angegeben, doch wenn ich meine Login Seite dann neu lade, wird der User-Bereich aufgerufen... Hier einmal der Code:


    HTML
    <?php session_start(); ?><!DOCTYPE html><html>    <head>        <title>Nova-MC.de | User Control Panel</title>        <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">        <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">        <link href="../style/login.css" rel="stylesheet">        <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>        <script>            function check() {                var name = $("#postname").val();                var pass = $("#postpass").val();                $.ajax({                    type: "POST",                    url: "./check/index.php",                    data: "postname=" + name + "&postpass=" + pass,                    success: function(textString) {                        if(textString == "right") {                            alert("Right");                            window.location = "../overview";                        } else if(textString == "banned") {                            alert("gebannt");                            $("#resonse").removeClass("alert alert-danger");                            $("#response").addClass("alert alert-danger");                            $("#response").html("Du bist gebannt! Bitte stelle einen Entbannantrag im Forum!");                        } else {                            alert("Falsch");                            $("#resonse").removeClass("alert alert-danger");                            $("#response").addClass("alert alert-danger");                            $("#response").html("Du musst alle Felder korrekt ausf&uuml;llen");                        }                    }                });            }        </script>    </head>    <body>        <?php        if(isset($_SESSION["userID"])) {            header("location: ../overview/");            return;        } else {        ?>        <div class="login-all">            <div class="login-top">                <p>User Control Panel</p>            </div>            <div id="response"></div>            <div class="login-content">                <form>                        <i class="login-icon icon-male icon-2x"> </i> <input type="text" placeholder="Minecraft Username" id="postname" /><br/>                        <br />                        <i class="login-icon icon-2x icon-lock"> </i> <input type="password" placeholder="Passwort" id="postpass"><br>                        <input type="button" value="Einloggen" onclick="check();" class="btn btn-success" style="width: 245px;" />                </form>            </div>        </div>        <?php        }        ?>    </body></html>


    PHP
    <?php session_start();/*  * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */$mysql = mysqli_connect("vweb18.nitrado.net", "****", "****", "****", "3306");require_once '../../class/Main.php';$name = mysqli_escape_string($mysql, $_POST["postname"]);$pass = mysqli_escape_string($mysql,md5($_POST["postpass"]));$query = mysqli_query($mysql, "SELECT * FROM users WHERE name='$name' AND password='$pass'");if(mysqli_num_rows($query) == 1) {    while($row = mysqli_fetch_object($query)) {        $_SESSION["userID"] = $row->ID;        $main = new Main($row->ID);        if(!$main->isBanned()) {            echo 'right';        } else {            echo 'banned';            session_destroy();        }        mysqli_free_result($query);        mysqli_close($mysql);        break;    }} else {    mysqli_free_result($query);    mysqli_close($mysql);}


    Wie kann ich mein Problem beheben?