[PHP] mit einem Button POST daten übertragen?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Gilmohr, 17. Februar 2009 .

  1. 17. Februar 2009
    mit einem Button POST daten übertragen?

    hallo leute. bin hier was am probieren und würd gern durch das betätigen eines Buttons einen Wert/variable per POST übertragen... so wie bei ienem eingabefeld.

    geht das oder ist das prinzipiell nicht möglich?

    so hatte ich das gedacht, aber die ausgabedatei zeigt dann garnix an und ich finde den Fehler nicht

    PHP:
    <? php
    foreach( $admindaten  as  $admin_username => $admin_userpass )
    {
      if (
    $_POST [ "username" ] ==  $admin_username  &&  $_POST [ "passwort" ] ==  $admin_userpass )
      {
         
    $login  "test" ;
         echo 
    "Hallo  $admin_username , du hast dich <font color=#069100>erfolgreich eingeloggt</font><br>" ;
         echo 
    "<form action=../news/newsskript.php methode=post><br />
              <a href=../news/newsskript.php name=
    $login ><br />weiter zum Adminbereich</a><br />
              <input type=Submit value=weiter name=
    $login  />
              </form>"
    ;
         exit;
      }
    }
    ?>

    die datei in der das ganze ankommen soll sieht dann so aus.....


    <?php

    if ( $_POST [ " $login " ] !=  test  )
       {
        
    hier sollen dann weitere anweisungen folgen
        
    }
    ?>


     
  2. 17. Februar 2009
    AW: kann ich mit einem Button POST daten übertragen?

    Also erstmal dein HTML Code ist recht scheusslich.. Mach mal ne wc3 validation. Lern nicht direkt am anfang falsche/unschöne sachen.

    Das
    PHP:
    < a href =../ news / newsskript . php name = $login >< br  /> weiter zum Adminbereich </ a >< br
    klappt nicht..


    Sende ein Input-type hidden im Formular mit den Name login und einem wunsch-value.
    Code:
     <input type="hidden" name="login" value="true">
    Und frage das ganze dann nachher ab.

    PHP:
    if (isset( $_POST [ 'login' ]) &&  $_POST [ 'login' ] !=  "true"  ) {
    //login fehlgeschlagen admin panel nicht anzeigen
        
    }else{

    //login erflogreich/admin panel kann gezeigt werden
    Jedoch ist das eine sehr unsichere Variante, da man POST Werte fälschen kann.

    Ich würd dir empfehlen bevor du dein Loginscript weiter entwickelst dich nocheinmal komplett mit HTML und PHP auseinander zu setzen. Da es so rüber kommt, dass du gar keine wirkliche Ahnung hast was du da machst.


    Du definierst Variablen und willst sie dort benutzen wo sie gar nicht meht gültig sind. ect.
     
  3. 17. Februar 2009
    AW: mit einem Button POST daten übertragen?

    danke schonmal für die schnelle Antwort. Zugegeben, ich hab wirklich nicht die nötig ahnung was ich da eigentlich genau mache... bin da immer schritt für schirtt am probieren.

    hast du denn evtl noch ien tip was genau an meinem html so scheusslich ist? hab mir das mal mit nem buch beigebracht und auch keinen so richtigen plan wie ich mich damit von grund auf richtig befassen müsste, bzw was die kriterien für sauberen code sind

    schonmal danke, bw ist auch raus
     
  4. 17. Februar 2009
    AW: mit einem Button POST daten übertragen?

    das Grausamste ist, dass du deine Attribute nicht mit Hochkommas kapselst.
    Ich denke das hatte er gemeint.
    <form action=../news/newsskript.php methode=post>

    <form action="../news/newsskript.php" methode="post">
     
  5. 17. Februar 2009
    AW: mit einem Button POST daten übertragen?

    Hey, die Tags im HTML zum Beispiel.
    Normal macht man Anführungszeichen wenn man etwas definiert.
    <font color="#069100">
    <form action="" method="POST">
    <div id="">
    <p style=""> ....


    Und <font color> und die ganzen Hilfen sind schon stark veraltet.
    Heutzutage arbeitet man eher mit DIV, SPAN Elementen und "stylt" diese mithilfe von CSS.

    Von der Funktionalität funktioniert das ganze natürlich trotzdem auch so.

    Aber klar jeder hat man klein angefangen deswegen denk nicht, dass ich dich runter machen will oder so.



    Wenn dein Loginsystem sicher sein soll, dann sollte es jedenfalls schonmal mit Sessions arbeiten.


    Also:

    1. Formular sendet POST Daten an ein PHP Script
    2. PHP Script überprüft die POST Daten mit einer Datenbank oder einer Textdatei
    3. Wenn alles in ordnung ist, wird die session X gesetzt, wenn es falsch ist, kommt eine fehlermeldung.


    Mit dieser Session kannst du einfache if abfragen dann starten wenn du ein bereich nicht für jeden zugänglich haben möchtest.

    PHP:
    session_start ();
    if(
    $_SESSION [ 'login' ]== 'true' ){
    echo 
    "der nutzer ist eingeloggt" ;
    }
    So brauchst du keine lästigen formulare erstellen damit du in deinen Administrationsbereich kannst.



    Wenn du mal die Systematik sehen möchtest hier ist ein relativ gutes Tutorial basierend auf einer MySQL Datenbank zum abgleich der Eigegebenen Daten:

    http://www.php-resource.de/tutorials/read/38/1/

    Ist aber bestimmt jetzt erstmal zu viel auf einmal für den anfang =P
     
  6. 18. Februar 2009
    AW: mit einem Button POST daten übertragen?

    Hallo, vielen dank nochmals für die Info.
    mit Sessions hab ich jetzt mal angefangen und bin da noch bisl am tüfteln.

    Die Definitionen ohne Hochkommas hab ich wegen den php "echo" Befehlen so gemacht. Da hab ich immer das Problem wenn ich einen Attribut oder sonstwas festleg und in Hochkommas setze, meint das php immer ich würd echo beenden. ...dann funktioniert garnix

    Hab halt gemerkt das es ohne funktioniert, von daher dann immer so gemacht.
    Gibts da evtl ne geschicktere lösung? ?(

    ...und keine Sorge, ich denke nicht das sich jemand über meine web-fertigkeiten amüsiert oder mich runter machen will ^^, im gegenteil, bin dankbar über jede konstruktive Kritik und nehm mir eure Tips zu herzen. Will ja schließlich noch was lernen :]
     
  7. 18. Februar 2009
    AW: mit einem Button POST daten übertragen?

    Hey also das mit den Hochkommatas ist ganz einfach.

    Variante 1:

    PHP:
    echo  "<img src=\"imagepath\">" ;
    oder Variante 2:

    PHP:
    echo  '<img src="imagepath">' ;

    So der unterschied ist allerdings. Zwischen " " kannst du noch mit PHP Variablen arbeiten
    Sprich:
    PHP:
    $imagepath = 'images/test.png' ;
    echo 
    "<img src=\" $imagepath \">" ;

    Bei der Variante 2 mit ' ' geht das ganze nur so:
    PHP:
    $imagepath = 'images/test.png' ;
    echo 
    '<img src="' . $imagepath . '">' ;

    Weitere hilfreiche Infos das zu verstehen bietet dir php.net
    http://de.php.net/manual/en/language.types.string.php


    Da findest du Single quoted und Double quoted
     
  8. 18. Februar 2009
    AW: mit einem Button POST daten übertragen?

    noch eine Anmerkung, auch wenn das für deinen Fall irrelevant ist.
    Einfache Hochkommas sind aus dem Grund auch performanter, falls du mal größere Zeichenketten verarbeiten möchtest. Da die Strings nicht nach Variablen durchsucht werden. Es empfiehlt sich jeden Falls, sich das von Anfang an anzugewöhnen.
    Und dann wie bei Variante 2 beschrieben die Variablen mit dem Punkt Operator veketten.

     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.