Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Passare da asp a php

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193

    Passare da asp a php

    Sto cercando di trasformare uno script che avevo in asp in php ma non riesco a farlo funzionare
    Sicuramente faccio un'errore nella sintassi ma non riesco a capire dove sbaglio.

    Questo è l'originale in asp:

    <%
    if len(azione) <> 0 then

    if isnumeric(azione) = true or azione <> "scrivi" then
    response.redirect "nuovo.asp"
    end if

    if destinatario = "" or titolo = "" then
    response.redirect "nuovo.asp"
    else

    dim rs
    set rs = server.createobject("ADODB.recordset")
    dim sql
    sql = "SELECT * FROM Utenti WHERE Username = '" & destinatario & "'"
    rs.open sql, conn, 3, 3
    end if

    if rs.eof then
    errore = true
    rs.close
    set rs = nothing
    end if
    %>


    E questo è quello che ho fatto in php:

    <?
    include('conn.inc.php');
    $azione=$_GET['azione'];
    if (strlen($azione)<> 0)
    {
    if (is_numeric($azione) == true or azione <> "scrivi" ){
    header("Location: nuovo.php");
    }
    }
    $destinatario = $_POST['destinatario'];
    $titolo = $_POST['titolo'];
    $commento = $_POST['messaggio'];
    $errore = false;
    if($destinatario == "" or $titolo == ""){
    header("Location: nuovo.php");
    }else{
    $query = "SELECT * FROM Utenti WHERE Username = '$destinatario'";
    $res = mysql_db_query( $database, $query, $conn );
    $righe = mysql_num_rows($res);
    if{$righe == 0){
    $errore = true;
    mysql_close($conn)
    }
    }
    ?>
    In pratica deve controllare se nel link c'è il parametro azione=scrivi,se non c'è oppure non è "scrivi" deve eseguire la pagina normalmente,se azione=scrivi deve controllare che ci siano sia destinatario che titolo ed eseguire la query altrimenti eseguire la pagina normalmente.
    Dove stà l'errore?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    <?php

    include('conn.inc.php');
    $azione $_GET['azione'];

    if (
    strlen($azione) !== 0)
    {
        if (
    azione !== "scrivi" )
        {
            
    header("Location: nuovo.php");
        }
    }

    $destinatario $_POST['destinatario'];
    $titolo $_POST['titolo'];
    $commento $_POST['messaggio'];
    $errore false;

    if(
    $destinatario == "" || $titolo == "")
    {
        
    header("Location: nuovo.php");
    }
    else
    {
        
    $query "SELECT * FROM Utenti WHERE Username = '".$destinatario."'";
        
    $res mysql_db_query$database$query$conn );
        
    $righe mysql_num_rows($res);
        if{
    $righe == 0)
        {
            
    $errore true;
            
    mysql_close($conn)
        }
    }
    ?>
    In PHP gli operatori logici sono || (OR) e && (AND)..

    Se questo script desse errori nell'invio degli headers (il redirect per intenderci), allora fai un redirect con javascript

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Grazie 1000 a parte un piccolo errore con le parentesi c'era una graffa al posto di una tonda
    per il resto è perfetto!
    Non ci avevo pensato che gli operatori potessero cambiare...
    Ma quanto devo ancora imparare...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.