php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-05-2003, 13:22
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard Seite neu laden wenn If-Zweig fasst wenn If-Zweig fasst

Hallo mal wieder,
ich hab da mal ein frägelchen, im Forum bin ich nicht so recht fündig geworden, oder hab einfach nur die falschen suchbegriffe benutzt?

also ich hab da son script und das soll wenn die aussage im if zweig stimmt die seite mit n paar variablen neu laden, wie mach ich das? Hat da wer ne ahnung?

Hatte zwar eine glänzende idee, wie ich dachte, aber das hat dann nicht so ganz geklappt,
wie ihr unten sehen könnt
PHP-Code:
if(!isset($UserName)):
        
$fehlertext="Bitte geben Sie einen Benutzernamen ein.<br>\n";
        
header ("Location: reg.php?fehlertext=$fehlertext&UserName=$Username&UserEMail=$UserEMail&UserEMail2=$UserEMail2");
        exit;
      endif; 
Mit Zitat antworten
  #2 (permalink)  
Alt 09-05-2003, 13:25
Realmaker
 Senior Member
Links : Onlinestatus : Realmaker ist offline
Registriert seit: Jan 2003
Beiträge: 582
Realmaker ist zur Zeit noch ein unbeschriebenes Blatt
Realmaker eine Nachricht über ICQ schicken
Standard

also wenn du das so machst wird niemand den text da lesen können weil ja sofort danach die weiterleitung kommt. außerdem:
PHP-Code:
header ("Location: reg.php?fehlertext=".$fehlertext."&UserName=".$Username."&UserEMail=".$UserEMail."&UserEMail2=".$UserEMail2); 
Mit Zitat antworten
  #3 (permalink)  
Alt 09-05-2003, 13:46
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

register_globals?
probier mal if(!isset($_POST ['UserName'])) oder if(!isset($_GET['UserName']))

außerdem: wenn er die weiterleitung nur macht, wenn die variable nicht gesetzt is, warum übergibst du sie dann noch an reg.php?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #4 (permalink)  
Alt 09-05-2003, 14:08
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es geht darum das er zurück zum Formular gehen soll wenn es nicht korrekt ausgeführt ist. Es handelt sich dabei um ein registrierformular. und der soll halt die gesetzten Variablen mitnehmen damit der User nicht alles neu eintragen muß.
Mit Zitat antworten
  #5 (permalink)  
Alt 09-05-2003, 14:19
Trashar
 PHP Senior
Links : Onlinestatus : Trashar ist offline
Registriert seit: Dec 2001
Ort: /root/
Beiträge: 1.366
Trashar ist zur Zeit noch ein unbeschriebenes Blatt
Trashar eine Nachricht über ICQ schicken Trashar eine Nachricht über AIM schicken
Standard

ja und wo liegt das problem

hast doch den code schon im ersten beitrag
Mit Zitat antworten
  #6 (permalink)  
Alt 09-05-2003, 14:20
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Imion
Es geht darum das er zurück zum Formular gehen soll wenn es nicht korrekt ausgeführt ist. Es handelt sich dabei um ein registrierformular. und der soll halt die gesetzten Variablen mitnehmen damit der User nicht alles neu eintragen muß.
und warum reisst du das nicht gleich alles mit ein und dem selben script runter?

direkter aufruf, kein abgeschicktes formular? -> formular anzeigen
abgeschicktes formular? -> angaben prüfen, wenn ok ab in die DB, andernfalls formular erneut ausgeben und dabei die eingegebenen werte übernehmen, plus fehlermeldung(en).
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 09-05-2003, 15:02
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau das will cih ja,
nur leider hab ich absolut kein plan wie ich dem klar mache das der das formular mit den eingegebenen daten bei fehler auch neu lädt
Mit Zitat antworten
  #8 (permalink)  
Alt 09-05-2003, 16:07
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Imion
genau das will cih ja,
nur leider hab ich absolut kein plan wie ich dem klar mache das der das formular mit den eingegebenen daten bei fehler auch neu lädt
die daten hast du, ausgeben kannst du mit echo, ... was fehlt dir noch?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 09-05-2003, 18:26
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Manchmal ist es ganz Sinnvoll die AUgen auf zu machen,
hab grad erst gesehn das bei Realmaker ja n veränderter header drinne steht. Dann hab ich jetzt alles, danke schön und sorry das ich das verpeilt hab.
Mit Zitat antworten
  #10 (permalink)  
Alt 09-05-2003, 21:52
Sandmancw
 Junior Member
Links : Onlinestatus : Sandmancw ist offline
Registriert seit: Apr 2003
Beiträge: 75
Sandmancw ist zur Zeit noch ein unbeschriebenes Blatt
Standard ...

cool, ich will genau das gleiche machen, damit ich nen bisschen mehr über if-anweisungen lerne, also stimmt dieser code? Und könnte ich den noch besser gestalten? Ich stell die frage gleich hier weil wenn der code richtig ist imion gleich seine Antwort hat. Nicht vergessen ich brauch auch eine ;-)

PHP-Code:
if(!isset($submit)
  {

   
// Formular.


  
} else if(isset($submit) {
  
    if(!isset(
$username OR $mail OR $mail2 OR $pass OR $pass2)
      {

       
// Bitte drücken sie den zurück Button Ihres Browsers, und geben alle Daten an!

      
} else if($pass <> $pass2) {

       
// Die Passwörter stimmen nicht überin! 

      
} else if($mail <> $mail2) {

       
// Die Email adressen stimmen nicht überin!

      
} else { 

       
// Angaben wiederholen, damit der user überpfüfen kann ob sie stimmen,
       // außerdem Button ($submit2) einfügen der zur Seite führt der die Daten
       // in die Datenbank einträgt  

      
}

  } else if(isset(
$submit2) {

       
// Daten des Users in die Datenbank eintragen.

  

Mit Zitat antworten
  #11 (permalink)  
Alt 10-05-2003, 12:30
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also beim ersten überfliegen würde ich deinen Code als korrekt einstufen,
ich hab ihn aber jetzt nicht getestet.
Allerdings gibt es zwischen unseren beiden abfagen einen Unterschied,
und zwar möchte ich nicht das der User den Zurückbutton benutzen muß,
sondern das das Formular wieder angezeigt wird mit einem Text wo der Fehler in der EIngabe liegt.

PHP-Code:
<html>
  <head>
    <title>Regsitrieren</title>
  </head>
  <body bgcolor="#000066" text="#ff9900">
  <?
    $show
="1";
    if(
$site=="reg" && $show=="0")
    {
      echo
"Eintrag";
      
# jetzt die datenbankeintragung und das Formular wird nicht mehr angezeigt
    
}
    if(
$show=="1")
    {
  
?>
      <form name='regis' acrion="reg.php" methode="post">
      <input type="hidden" name="site" value="reg">
      <input type="hidden" name="show" value="0">
      <table width='300' border='2' cellspacing='0' cellpadding='2' bordercolor='#ff9900' bgcolor='#000066' align='center'>
        <tr>
          <th colspan='2'>Registrieren</th>
        </tr>
        <tr>
          <td width='100' valign='top'>Username:</td>
  <? echo"<td width='100' valign='top'><input type='text' name='UserName' value='$UserName'></td>\n";
             if(
$UserName == "" && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Usernamen eingeben";
             }
   
?>
        </tr>
        <tr>
          <td width='100' valign='top'>EMail:</td>
  <? echo"<td width='100' valign='top'><input type='text' name='UserEMail' value='$UserEMail'></td>\n";
             if(
$UserEMail == "" && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Email eingeben";
             }
   
?>
        </tr>
        <tr>
          <td width='100' valign='top'>EMail wdh.:</td>
  <? echo"<td width='100' valign='top'><input type='text' name='UserEMail2' value='$UserEMail2'></td>\n";
             if(
$UserEMail2 == "" && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Email wiederholung eingeben";
             }
  
?>
        </tr>
        <tr>
          <td width='100' valign='top'>Passwort:</td>
  <? echo"<td width='100' valign='top'><input type='password' name='UserPassword' value='$UserPassword'></td>\n";
             if(
$UserPassword == "" && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Passwort eingeben";
             }
  
?>
        </tr>
        <tr>
          <td width='100' valign='top'>Passwort wdh.:</td>
  <? echo"<td width='100' valign='top'><input type='password' name='UserPassword2'></td>\n";
             if(
$UserPassword2 == "" && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Passwort wiederholung eingeben";
             }
             if(
$UserPassword != $UserPassword2 && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Passwort und Wiederholung überprüfen";
             }
             if(
$UserEMail != $UserEMail2 && $site == "reg"){
               unset(
$site);
               
$show="1";
                        echo
"Bitte Emailadresse überprüfen.";
             }


  
?>
        </tr>
        <tr>
          <td width='100' valign='top' colspan='2'><input type='submit' value='Registrieren'></td>
        </tr>
      </table>
      </form>
  <? ?>
  </body>
</html>
Mit Zitat antworten
  #12 (permalink)  
Alt 10-05-2003, 13:26
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also zuerstmal sind mir doch ein paar Sachen aufgefallen die u.U. doch falsch sind an deinem Script, oder zumindest anders sicherer sind:

PHP-Code:
if(!isset($submit)
  {
   
// Formular.
  
}
  elseif(
$submit=="inhalt1"# Als erstes, schreibe elseif immer zusammen, ich habs nicht getestet, kann mir aber vorstellen das du hier nen süßen kleinen Fehlercode bekommst
       
{                     # desweiteren prüfe lieber den Inhalt der Variablen, nicht ob sie gesetzt ist, das könnte Probleme machen
    
if(!isset($username) OR !isset($mail) OR !isset($mail2) OR !isset($pass) OR !isset($pass2)) #das sollte so aussehen, deine variante erzeugte bei mir einen fehler
    
{                                                                                           #und die schließende Klammer vom if fehlte dir
      // Bitte drücken sie den zurück Button Ihres Browsers, und geben alle Daten an!
    
}
    elseif(
$pass != $pass2# hier nimm lieber das != als das <>, denn != überprüft ob der inhalt identisch ist während
    
{                       # <> so wie ich das sehe nur nachschaut ob der Ihhalt kleiner oder größer ist
      // Die Passwörter stimmen nicht überin! 
    
}
    elseif(
$mail != $mail2)
    {
       
// Die Email adressen stimmen nicht überin!
    
}
    else
    { 
       
// Angaben wiederholen, damit der user überpfüfen kann ob sie stimmen,
       // außerdem Button ($submit2) einfügen der zur Seite führt der die Daten
       // in die Datenbank einträgt  
    
}
  }
  elseif(
$submit2=="inhalt2"# hier das gleiche wie oben, du kannst $submit und $submit2 ja mit nem hidden feld setzen und wirst du ja wahrscheinlcih eh machen
  
{
    
// Daten des Users in die Datenbank eintragen.
  

Das sind so die Sachen die mir aufgefallen sind.
Hier nun mein Script, es funktioniert nun, aber für einen Vorschlag wie ich das Formular nur einmal rein machen muß und dennoch den gleichen effekt erzeile wäre cih dankbar, habe es zuerst mit einer funktion versucht was zwar auch klappte, aber dann wurden bei einem Fehler nicht die vorhandenen Daten eingefügt.

PHP-Code:
<html>
  <head>
    <title>Regsitrieren</title>
  </head>
  <body bgcolor="#000066" text="#ff9900">
    <?
      
if(!isset($site)):
        
?>
          <form name='regis' action="reg.php" methode="post">
          <input type="hidden" name="site" value="reg">
          <table width='300' border='2' cellspacing='0' cellpadding='2' bordercolor='#ff9900' bgcolor='#000066' align='center'>
            <tr>
              <th colspan='2'>Registrieren</th>
            </tr>
            <tr>
              <td width='100' valign='top'>Username:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserName' value='$UserName'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail' value='$UserEMail'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail wdh.:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail2' value='$UserEMail2'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword'></td>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort wdh.:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword2'></td>
            </tr>
            <tr>
              <td width='100' valign='top' colspan='2'><input type='submit' value='Registrieren'></td>
            </tr>
          </table>
          </form>
          <?
      
else:
        if(
$UserName=="" OR $UserEMail=="" OR $UserEMail2=="" OR $UserPassword=="" OR $UserPassword2==""):
          echo
"<div align='center'>Bitte füllen Sie alle Felder aus</div><br>\n";
          
?>
          <form name='regis' action="reg.php" methode="post">
          <input type="hidden" name="site" value="reg">
          <table width='300' border='2' cellspacing='0' cellpadding='2' bordercolor='#ff9900' bgcolor='#000066' align='center'>
            <tr>
              <th colspan='2'>Registrieren</th>
            </tr>
            <tr>
              <td width='100' valign='top'>Username:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserName' value='$UserName'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail' value='$UserEMail'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail wdh.:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail2' value='$UserEMail2'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword'></td>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort wdh.:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword2'></td>
            </tr>
            <tr>
              <td width='100' valign='top' colspan='2'><input type='submit' value='Registrieren'></td>
            </tr>
          </table>
          </form>
          <?
          
exit;
        elseif(
$UserPassword != $UserPassword2):
          echo
"<div align='center'>Passwort und Wiederholung stimmen nicht überein</div><br>\n";
          
?>
          <form name='regis' action="reg.php" methode="post">
          <input type="hidden" name="site" value="reg">
          <table width='300' border='2' cellspacing='0' cellpadding='2' bordercolor='#ff9900' bgcolor='#000066' align='center'>
            <tr>
              <th colspan='2'>Registrieren</th>
            </tr>
            <tr>
              <td width='100' valign='top'>Username:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserName' value='$UserName'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail' value='$UserEMail'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail wdh.:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail2' value='$UserEMail2'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword'></td>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort wdh.:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword2'></td>
            </tr>
            <tr>
              <td width='100' valign='top' colspan='2'><input type='submit' value='Registrieren'></td>
            </tr>
          </table>
          </form>
          <?
          
exit;
        elseif(
$UserEMail != $UserEMail2):
          echo
"<div align='center'>Emailadresse und Wiederholung stimmen nicht überein</div><br>\n";
          
?>
          <form name='regis' action="reg.php" methode="post">
          <input type="hidden" name="site" value="reg">
          <table width='300' border='2' cellspacing='0' cellpadding='2' bordercolor='#ff9900' bgcolor='#000066' align='center'>
            <tr>
              <th colspan='2'>Registrieren</th>
            </tr>
            <tr>
              <td width='100' valign='top'>Username:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserName' value='$UserName'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail' value='$UserEMail'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>EMail wdh.:</td>
      <? echo"<td width='100' valign='top'><input type='text' name='UserEMail2' value='$UserEMail2'></td>\n"?>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword'></td>
            </tr>
            <tr>
              <td width='100' valign='top'>Passwort wdh.:</td>
              <td width='100' valign='top'><input type='password' name='UserPassword2'></td>
            </tr>
            <tr>
              <td width='100' valign='top' colspan='2'><input type='submit' value='Registrieren'></td>
            </tr>
          </table>
          </form>
          <?
          
exit;
        else:
          echo
"Registrierung erfolgreich<br>\n";
        endif;
      endif;
?>
  </body>
</html>
Mit Zitat antworten
  #13 (permalink)  
Alt 10-05-2003, 14:11
Sandmancw
 Junior Member
Links : Onlinestatus : Sandmancw ist offline
Registriert seit: Apr 2003
Beiträge: 75
Sandmancw ist zur Zeit noch ein unbeschriebenes Blatt
Standard ...

jo mir ist erst hinterher aufgefallen das ich immer nur einmal ) gestzt habe, obwohl es ja if(isset(... hieß.
Mit Zitat antworten
  #14 (permalink)  
Alt 10-05-2003, 14:20
Imion
 Member
Links : Onlinestatus : Imion ist offline
Registriert seit: Jul 2002
Beiträge: 495
Imion ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hoffe das ich dir helfen konnte, mich hast du da auf ne idee gebracht wie man oben sieht und es funktioniert =)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:34 Uhr.